【问题标题】:Android Broadcast安卓广播
【发布时间】:2013-05-03 08:37:52
【问题描述】:

关于Android4.2 Broadcast的一些问题,

android.intent.action.TIME_TICK

android.intent.action.PACKAGE_INSTALL

这两个受保护的广播在 /frameworks/base/core/res/AndroidManifest.xml 中定义

只找到注册Receiver使用Context.registerRecriver()的地方,

问题:在哪里发送附加广播 android.intent.action.TIME_TICK

谢谢

【问题讨论】:

  • AndroidManifest.xml的邮政编码
  • 嗨@AnilMetatagg 你的意思是什么AndroidManifest.xml 的邮政编码?为什么不用java 代码sendBroadcast(Intent) 发送那些动作?

标签: android android-intent permissions


【解决方案1】:

如果你在清单文件中声明它是不够的。清单文件就像一个蓝图。你需要在那里声明广播接收器,之后你需要在你的代码中注册广播接收器我正在附加示例广播接收器代码。

 batteryLevelFilter= new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    this.registerReceiver(batteryLevelReceiver, batteryLevelFilter);
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
                  //yourcode

            }
};

【讨论】:

    【解决方案2】:

    您不能通过清单中声明的​​组件接收此信息,只能通过 Context.registerReceiver() 显式注册它。

    而且只能由系统发送。

    您必须以编程方式注册此意图:每分钟发送一次。

    喜欢这个

    IntentFilter if = new IntentFilter(Intent.ACTION_TIME_TICK);
    registerReceiver(YourReceiver, if);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多