4

アプリケーションで ITelephony.aidl を使用しようとしています。これを使用して、着信に応答したいと思います。endcall() を使用することができましたが、完全に機能します。しかし、answerringingcall() を使用しようとすると、エラーがスローされ、MODIFY_PHONE_STATE が必要であると表示されますが、システム アプリでしか使用できないため使用できません。

Android 2.3以降でこれを機能させる方法はありますか?または、電話に応答する他の方法はありますか?

前もって感謝します:)

これが私のコードです。

`

public void callAnswer(){


        try {
            Class c = Class.forName(telephony.getClass().getName());
            Method m = c.getDeclaredMethod("getITelephony");
            m.setAccessible(true);
            telephonyService = (ITelephony) m.invoke(telephony);
            telephonyService.answerRingingCall();
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }`

これは私の ITelephony.aidl ファイルです

 package com.android.internal.telephony;
interface ITelephony {

 boolean endCall();

 void answerRingingCall();


}
4

2 に答える 2

2

パーミッション uses-permission android:name="android.permission.MODIFY_PHONE_STATE" を追加する必要があります

于 2013-09-23T02:10:03.603 に答える
0

電話を受ける方法を見つけた @pra16 かもしれません。そうでない場合は、このリンクをチェックしてください。ヘッドセットのキーイベント ハックはうまくいきました。Android 4.3でテストしました

于 2014-04-11T21:23:50.683 に答える