0
在我的應用程序中,我使用Broadcast Receiver
來收聽電話狀態事件(即收到的呼叫,空閒等)。代碼如下:即使在啓動後也能聽到電話狀態
public class PhoneCallreceiver extends BroadcastReceiver {
private boolean ringing;
private boolean received;
public PhoneCallreceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Log.v("ranjith", "enterted receiver");
Bundle bundle = intent.getExtras();
String incomingnumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
String state = bundle.getString(TelephonyManager.EXTRA_STATE);
Log.v("ranjapp", state);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
ringing = true;
received = false;
}
}
的Manifest.xml
<receiver
android:name=".PhoneCallreceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>
我的問題是我想自動啓動BroadCast Receiver
設備重新啓動後。我有一個BroadCast Receiver
聽開機,但我不知道如何啓動廣播接收器。
的Manifest.xml
<receiver
android:name=".backend.BootStarter"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
代碼:
public class BootStarter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
PhoneCallreceiver callreceiver = new PhoneCallreceiver();
context.registerReceiver(callreceiver,new IntentFilter(**what to put here**));
}
}
BootStarter不是正在播放,還是沒有正確註冊電話狀態廣播接收器? – 2015-02-11 20:07:36
BootStarter正在啓動,但如何啓動BootStarter的onReceive內的PhoneCallReceiver? – Psypher 2015-02-11 20:15:12
您是否嘗試在您的.PhoneCallReceiver中添加啓動完成的意圖過濾器? – 2015-02-11 21:42:49