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());

现在我的自定义屏幕在 textview 中显示传入的电话号码

于 2012-04-27T03:55:51.190 回答