2012-04-26 37 views
1

我有一个应用程序,用我自己的设计取代了标准来电屏幕。当有人打电话时,我的自定义屏幕弹出。这很好,但由于某种原因,我的应用程序无法显示传入的电话号码。传入的电话号码显示在LogCat中,但是当我尝试将TextView设置为该字符串时,没有显示任何内容。下面是检索来电号码代码:为什么不能设置TextView来显示来电号码?

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

正如你所看到的,字符串“phoneNr”显示logcat的来电号码。但是,当我尝试使用它来设置TextView的文本在显示我的自定义屏幕的类(IncomingCallRecieved):

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

TextView的保持空白。

有关为何发生这种情况的任何建议?

回答

2

如果phoneNr是整数做到像""+phoneNr

也使new IncomingCallListener()对象将不会提及这实际上得到了number..so类要么使这个数字可变public static,并直接使用该变量像classname.variablename

+0

我的电话号码是一个字符串,我得到的错误 - > w ^/dalvikvm(1486):threadid = 1:以未捕获的异常退出的线程(group = 0x40015560) – SpicyWeenie 2012-04-26 09:15:52

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的来电号码

相关问题