0

以下のメソッドを使用して通話を終了しようとしています

private void getTeleService(Context context) {
    TelephonyManager tm = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
    try {

        Class c = Class.forName(tm.getClass().getName());
        Method m = c.getDeclaredMethod("getITelephony");
        m.setAccessible(true);
        com.android.internal.telephony.ITelephony telephonyService = (ITelephony) m.invoke(tm);
        telephonyService.silenceRinger();
        telephonyService.endCall();
    } catch (Exception e) {
        e.printStackTrace();
        Log.e("","FATAL ERROR: could not connect to telephony subsystem");
        Log.e("", "Exception object: " + e);
    }
}

これは Android バージョン 2.2 では正常に動作しますが、Android バージョン 2.2.6 では通話を終了できません。このコードの何が問題なのかわかりません。

私は解決策を得ました。この行をコメントアウトするだけです telephonyService.silenceRinger(); このメソッドは Android 2.3 バージョン以上でサポートされていないため

アドバインのおかげで私を助けてください。

4

1 に答える 1

0

Android は 2.2 以降に変更されたため、これらのトリックは機能しなくなりました

于 2012-05-11T12:03:07.730 に答える