1

標準の着信画面を独自のデザインに置き換えるアプリがあります。誰かが電話をかけると、私のカスタム画面がポップアップします。これは良いことですが、何らかの理由で、アプリが着信電話番号を表示できません。着信電話番号は LogCat に表示されますが、TextView をその文字列に設定しようとすると、何も表示されません。着信電話番号を取得するコードは次のとおりです。

Bundle extras = intent.getExtras();
    phoneNr = extras.getString("incoming_number");
    Log.v(TAG, "phoneNr: " + phoneNr);

ご覧のとおり、文字列「phoneNr」は、LogCat に着信電話番号を表示します。しかし、それを使用して、カスタム画面を表示するクラス (IncomingCallRecieved) で TextView のテキストを設定しようとすると:

IncomingCallListener ICL = new IncomingCallListener(); // class for BroadcastReciever
textView_incomingNumber.setText(ICL.phoneNr);

TextView は空白のままです。

なぜこれが起こっているのかについての提案はありますか?

4

2 に答える 2

1

phoneNr が整数の場合、次のよう""+phoneNrにします。

また、new IncomingCallListener()オブジェクトを作成しても、実際に数値を取得したクラスを参照することはありません..そのため、その数値変数public staticを作成し、その変数を次のように直接使用しますclassname.variablename

于 2012-04-26T08:56:04.793 に答える
0

答えが見つかりました! http://android-journey.blogspot.com/2010/01/android-braodcast-receivers.html

私がしたことは、次の String メソッドを作成したことです。

 intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER) 

電話番号を取得して返します。したがって、カスタム画面を使用したクラスでは、次のようにしました。

IncomingCallListener ICL = new IncomingCallListener();
textView_incomingNumber.setText(ICL.getPhoneNumber());

カスタム画面のテキストビューに着信電話番号が表示されるようになりました

于 2012-04-27T03:55:51.190 に答える