znl_12 2013-06-06 07:40 采纳率: 0%
浏览 1740
已采纳

Broadcast service 没有被调用

我使用下面的代码调用 Broadcast service

Intent i = new Intent(this, BootUpReceiverRecall.class);
        sendBroadcast(i);
 <receiver  android:process=":remote" android:name="BootUpReceiverRecall"></receiver>
public class BootUpReceiverRecall extends BroadcastReceiver 
{
      // Restart service every 30 seconds
      private static final long REPEAT_TIME = 1000 * 30;
      @Override
      public void onReceive(Context context, Intent intent) 
      {
        AlarmManager service = (AlarmManager) context
            .getSystemService(Context.ALARM_SERVICE);
        Intent i = new Intent(context, BootUpReceiver.class);
        PendingIntent pending = PendingIntent.getBroadcast(context, 0, i,
            PendingIntent.FLAG_CANCEL_CURRENT);
        Calendar cal = Calendar.getInstance();
        // Start 30 seconds after boot completed
        cal.add(Calendar.SECOND, 30);
        //
        // Fetch every 30 seconds
        // InexactRepeating allows Android to optimize the energy consumption
        service.setInexactRepeating(AlarmManager.RTC_WAKEUP,
            cal.getTimeInMillis(), REPEAT_TIME, pending);
        // service.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
        // REPEAT_TIME, pending);
      }

但是我的BootUpReceiver 从来没有被调用,哪里出错了呢?

  • 写回答

2条回答 默认 最新

  • 码密码密哄 2013-06-06 08:00
    关注
    Intent i = new Intent(this, BootUpReceiverRecall.class);
            sendBroadcast(i);
    

    为什么要这样写呢? 我是没这样写过
    广播分2中注册方式:
    1中是代码注册,局部广播 可以写在Activity中

    YourReceiver reveiver = new YourReceiver ();
    IntentFilter filter = new IntentFilter();
            filter.addAction("yourAction");
            registerReceiver(reveiver , filter);
    

    Activity生命周期中可以管理register 和 unregister
    2.manifest配置 节点下
    创建 YourReceiver在xx.xx.xx.receiver(随便写)包下 extends BrocastReceiver
    根据action过滤

    你这个可改成

    Intent i = new Intent(“action”);
            sendBroadcast(i);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同