我想實現一個簡單的BroadcastReceiver,當有來電時它會被觸發。然而,似乎onreceive從來沒有觸發(我非常仔細地檢查了LogCat,沒有輸出),什麼錯了? TKS 我的類:使用Broadcast Receiver來接聽來電,onReceive未觸發?
public class MyPhoneReceiver extends BroadcastReceiver {
private static final String TAG = "DEBUG";
@Override
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "Test loggiiiiiiiiiiiiiiiiiiiiiiiiing!");
}
}
我的清單文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tung.le.android.receiver.phone"
android:versionCode="1"
android:versionName="1.0" >
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name=".MyPhoneReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" >
</action>
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
</manifest>
您可能首先使用自定義意圖(也許是您的包名稱)測試您的接收器。我認爲這將起作用。然後,我們將弄清爲什麼PHONE_STATE意圖未被捕獲。你在測試什麼版本的Android? – dcow 2012-04-14 03:52:29
嗨大衛,你的建議tks,讓我試試。我的版本是4.0.3 – 2012-04-14 13:12:03
我希望你的「MyPhoneReceiver」與「tung.le.android.receiver.phone」屬於同一個包。如果沒有,您將不得不在清單中提及完全限定的名稱。 – Avinazz 2013-01-26 05:21:22