sono in grado di disconnettere la chiamata programmaticamente per la chiamata in entrata sconosciuta numero in Android 2.2. Ma in Android 4.1, non funziona.come disconnettere la chiamata in Android 4.1.2 nexus a livello di programmazione
codice funzionante per disconnettere la chiamata in Android 2.2:
private Class c;
private Method m;
private com.android.internal.telephony.ITelephony telephonyService;
public void onReceive(Context context, Intent intent)
{
Bundle b = intent.getExtras();
String state = b.getString(TelephonyManager.EXTRA_STATE);
if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
{
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
c = Class.forName(tm.getClass().getName());
m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(tm);
telephonyService.silenceRinger();
telephonyService.endCall();
}
}
Aiutateci me.Thanks in anticipo
Finalmente ho ottenuto una soluzione per la versione 2.6.
MODIFY_PHONE_STATE
l'autorizzazione non funziona più su silenceRinger() dal 2.3+, ma endCall va bene. Quindi la soluzione è commentare la chiamata a silenceRinger().
questo è il codice corretto .. puoi pubblicare il tuo errore logcat. –
TechEnd, non ci sono errori nel logcat. Mentre (numero sconosciuto) sta effettuando la chiamata, dovrebbe disconnettersi ma questo codice funziona in Android 2.2 ma non in 4.1 – AndroidRaji
Finalmente ho trovato una soluzione per la versione 2.6. L'autorizzazione MODIFY_PHONE_STATE non funziona più su silenceRinger() dal 2.3+, ma endCall è va bene. Quindi la soluzione è commentare la chiamata a silenceRinger(). – AndroidRaji