在activity1中有如下代码
intent = new Intent(Remind.CHECK_REMIND);
intent.putExtra(CHECK_MUSIC_ENABLE, checkMusicEnable);
intent.putExtra(CHECK_VIBRATE, checkVibrateEnable);
intent.putExtra(CHECK_TIME, mCheckTime.getText().toString());
sendBroadcast(intent);
我的BroadcastReceiver的部分代码如下:
public void onReceive(Context context, Intent intent) {、
if(intent.getAction().equals(Remind.CHECK_REMIND)){
Bundle bundle = intent.getExtras();
if(bundle == null){
return;
}
boolean flag = false;
boolean checkMusic = bundle.getBoolean(Setting.CHECK_MUSIC_ENABLE);
// 检查收集设置
if(collectMusic != mCollectMusic){
mCollectMusic = collectMusic;
flag = true;
}
if(collectVibrate != mCollectVibrate){
mCollectVibrate = collectVibrate;
flag = true;
}
if(!mCollectTime.equals(collectTime)){
mCollectTime = collectTime;
flag = true;
}
if(flag){
// 收集设置被改变,需要重新注册
cannelAlarm(context, Remind.COLLECT_REMIND);
registerAlarm(context, Remind.COLLECT_REMIND);
}
}
}
在AndroidManifest.xml中也进行了申明,如下:
<receiver android:name="TestBroadcastReceiver">
<intent-filter>
<action android:name="Remind.CHECK_REMIND" />
</intent-filter>
</receiver>
但我并没有收到广播的intent,这是为什么呢?
还请各位高手帮忙诊断下
谢谢~
intent = new Intent(Remind.CHECK_REMIND);
intent.putExtra(CHECK_MUSIC_ENABLE, checkMusicEnable);
intent.putExtra(CHECK_VIBRATE, checkVibrateEnable);
intent.putExtra(CHECK_TIME, mCheckTime.getText().toString());
sendBroadcast(intent);
我的BroadcastReceiver的部分代码如下:
public void onReceive(Context context, Intent intent) {、
if(intent.getAction().equals(Remind.CHECK_REMIND)){
Bundle bundle = intent.getExtras();
if(bundle == null){
return;
}
boolean flag = false;
boolean checkMusic = bundle.getBoolean(Setting.CHECK_MUSIC_ENABLE);
// 检查收集设置
if(collectMusic != mCollectMusic){
mCollectMusic = collectMusic;
flag = true;
}
if(collectVibrate != mCollectVibrate){
mCollectVibrate = collectVibrate;
flag = true;
}
if(!mCollectTime.equals(collectTime)){
mCollectTime = collectTime;
flag = true;
}
if(flag){
// 收集设置被改变,需要重新注册
cannelAlarm(context, Remind.COLLECT_REMIND);
registerAlarm(context, Remind.COLLECT_REMIND);
}
}
}
在AndroidManifest.xml中也进行了申明,如下:
<receiver android:name="TestBroadcastReceiver">
<intent-filter>
<action android:name="Remind.CHECK_REMIND" />
</intent-filter>
</receiver>
但我并没有收到广播的intent,这是为什么呢?
还请各位高手帮忙诊断下
谢谢~
解决方案 »
- 刚入门,请教一个功能的实现
- 请教一个问题,我现在需要从一张完整的图片中截取一个三角形区域的图片,代码怎么实现?
- 移动设备的交互协议
- 布局问题——底部菜单
- 通过appwidget点击出来的activity如何覆盖这个appwidget
- Android 动态修改页面切换动画的持续时间
- 写完login.xml后R类里的layout不会自动生成login
- 国内,android的广告平台选用哪个广告平台比较好呢?
- android 5.0的摄像头类修改了吗?
- 请问有人知道 怎么把 Android-PullToRefresh 整合到IDEA里面吗?
- android开发的笔记本帮忙推荐
- android开发,类型转换的问题
<action android:name="Remind.CHECK_REMIND" />
</intent-filter>你这个Remind.CHECK_REMIND字符串常量内容也是“Remind.CHECK_REMIND”么?
是和“android.permission.RECEIVE_BOOT_COMPLETED”发生了冲突。
去掉这个授权,就能收到相关的intent,但是why?
授权是写在receive的声明中的,代码如下
<receiver android:permission="android.permission.RECEIVE_BOOT_COMPLETED" android:name="BootBroadcastReceiver">
<intent-filter>
<action android:name="Remind.CHECK_REMIND" />
<action android:name="android.permission.RECEIVE_BOOT_COMPLETE" />
</intent-filter>