2011-12-29 33 views
1

我正在處理一個包含許多活動的項目,但是當嘗試在類中編碼廣播接收器時,廣播接收器無法工作,雖然我已授予清單文件的許可權。與reciver。使用廣播接收器以及活動

<receiver android:name=".IncomingCallReciever" android:exported="true" android:enabled="true"> 
    <intent-filter android:priority="1">actionandroid:name="android.intent.action.NEW_OUTGOING_CALL" /> 
     <action android:name="android.intent.action.PHONE_STATE" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</receiver> 

回答

0
public void onReceive(Context context, Intent intent) { 
mContext = context; 
mIntent = intent; 
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 
int events = PhoneStateListener.LISTEN_CALL_STATE; 
tm.listen(phoneStateListener, events); 
} 
+0

它工作後,我添加了上面的一段代碼 – 2012-01-03 10:02:06

2

我看不到您發佈的XML摘錄有任何錯誤。但是,標籤android:name中可能有錯誤。這應該是完全合格的類名稱(例如com.example.project.ReportReceiver)。但是,如果名稱的第一個字符是句點(例如,.ReportReceiver),則會將其附加到<manifest>元素中指定的包名稱。使用該快捷方式,您的軟件包名稱應該類似於package="com.example.project"。在你的情況下,你應該在.IncomingCallReciever之前檢查整個包名。


編輯:

檢查問題在這裏特別:

<intent-filter android:priority="1"> 
    actionandroid:name="android.intent.action.NEW_OUTGOING_CALL" /> 

取出>android:priority="1" - 這是一個語法問題,一旦你糾正它應該工作。

+0

包名是正確的,但事情是這樣的。我有整套其他活動。那麼我的應用程序的一個這樣的功能是讀取接收電話並拒絕它(我也提供了一些信息),但是如果任何包含在內的輸入信號都沒有發生,但是當我僅在不同的項目中使用廣播接收器類時。我只是不能讓它在這個包裏工作。 – 2011-12-29 08:42:08

+0

請幫助這個上下文。 – 2011-12-29 09:20:26

+0

檢查answer.hope中的EDITS,這有助於瞭解。如果仍然沒有,請讓我們知道。 – AbhishekB 2011-12-30 07:00:32