PhonestateListener :: OnCallStateChangedから空だった文字列を取得できません

StackOverflow https://stackoverflow.com/questions/4412224

  •  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.

うまくいけば、それはあなたを助けるでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top