PhonestateListener :: OnCallStateChangedから空だった文字列を取得できません
-
08-10-2019 - |
質問
ソース:
listener = new PhoneStateListener()
{
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
toast.show();
}
};
((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(listener , PhoneStateListener.LISTEN_CALL_STATE )
やあ、
私はこのコードを使用しています android.permission.READ_PHONE_STATE
開始コールの数を含むトーストメッセージを取得する許可。私の問題は、IncomingNumberが空であるということです。呼び出しが発信または着信しているかどうかは関係ありませんが、トーストが表示されますが、空です。
私はこれに対するいくつかの解決策を見ましたが、解決策はまったく異なる方法で数を取得することであり、私のコードを自分のニーズに使用できるかどうかを知りたいです。
アドバイスをありがとう、
アダム
解決
アプリケーションに許可を含めてください。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
if(state == TelephonyManager.CALL_STATE_RINGING){
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
toast.show();
}
CALL_STATE_OFFHOOK
最初の呼び出しの場合はnullを返します。したがって、使用する必要があります CALL_STATE_RINGING
.
うまくいけば、それはあなたを助けるでしょう。
所属していません StackOverflow