【发布时间】:2015-11-23 15:44:29
【问题描述】:
接收者在 manifest.xml 中定义:
<receiver android:name=".PhoneStateBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
接收器非常简单:
public class PhoneStateBroadcastReceiver extends BroadcastReceiver{
...
public void onReceive(){
Log.d("receiver","called");
}
}
我将intent-filter替换为自己定义的自定义过滤器,并使用“sendbroadcast()”发送广播,效果很好,但无法接收手机状态广播,问题出在哪里? 谢谢
ps:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
这是我的许可,测试在两个模拟器 android 6.0 上。
【问题讨论】:
-
我还添加了读取手机状态权限: