2012-04-26 65 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的來電號碼

相關問題