私はAndroid2.2で着信不明な番号の呼び出しのためにプログラムで呼び出しを切断することができます。しかし、Android 4.1では、機能しません。
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();
}
}
助けてください。よろしくお願いします。
最後に、2.6バージョンのソリューションを入手しました。
MODIFY_PHONE_STATE
2.3以降、permissionはsilenceRinger()で機能しなくなりましたが、endCallは問題ありません。したがって、解決策は、silenceRinger()の呼び出しをコメントアウトすることです。