komme tilbake til forrige modus etter samtale ender i android

stemmer
0

i min app jeg ønsker å legge til et alternativ: å sette telefonen på lydløs modus når en gruppe av spesifikke tall samtale (jeg bruker databasen senere for dette, nå prøve med et tall)

her er min kode:

public class PhoneCallReceiver extends BroadcastReceiver {
 Context context = null;
 private static final String TAG = Phone call;
 private ITelephony  telephonyService;

 private String silentNum=+.....;
 AudioManager am,temp;

 @Override
 public void onReceive(Context context, Intent intent) {
  Log.v(TAG, Receving....);
  TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);  
  try {
      am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
      temp = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
      temp.getRingerMode();

   Class c = Class.forName(telephony.getClass().getName());
   Method m = c.getDeclaredMethod(getITelephony);
   m.setAccessible(true);
   telephonyService = (ITelephony) m.invoke(telephony);
   Bundle bundle=intent.getExtras();
   String phoneNumber = bundle.getString(incoming_number);
   db= new dbhandler(context);
   db.open();
   int ch = db.checkexist(call, phoneNumber, 1);
   if ((phoneNumber != null) && (ch==1)){
   //telephonyService.silenceRinger();
   telephonyService.endCall();
   Log.e(HANG UP, phoneNumber);
   }

   if ((phoneNumber != null) && (phoneNumber.equals(silentNum))){
       am.setRingerMode(0);
       }

       }

  } catch (Exception e) {
   e.printStackTrace();
  }

 }

Jeg har også lagt BroadcastReceiver til min manifest også, nå når en av disse nummer samtaler, telefon få på lydløs modus. problemet mitt er at jeg ikke vet hvordan du får tilbake forrige modus på telefonen, jeg vet ikke når samtalen er ferdig

er dette den riktige koden for å komme tilbake til forrige modus?

Hvor skal jeg plassere den?

   switch (temp.getRingerMode()) {
   case AudioManager.RINGER_MODE_SILENT:
   Log.i(MyApp,Silent mode);
   break;
   case AudioManager.RINGER_MODE_VIBRATE:
   Log.i(MyApp,Vibrate mode);
   break;
   case AudioManager.RINGER_MODE_NORMAL:
   Log.i(MyApp,Normal mode);
   break;
Publisert på 02/07/2015 klokken 10:21
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Prøv dette

if ((phoneNumber != null) && (phoneNumber.equals(silentNum))){
       am.setRingerMode(0);
       }
else if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals
                    (TelephonyManager.EXTRA_STATE_IDLE)) {
                // This code will execute when the call's disconnected
                Toast.makeText(context, "You Hang up",
                        Toast.LENGTH_SHORT).show();
                AudioManager maudio = (AudioManager) context.
                        getSystemService(context.AUDIO_SERVICE);
                maudio.setRingerMode
                        (AudioManager.RINGER_MODE_NORMAL);

            }
Svarte 19/11/2015 kl. 01:10
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more