相关疑难解决方法(0)

Android - 如何接收广播意图ACTION_SCREEN_ON/OFF?

    <application>
         <receiver android:name=".MyBroadcastReceiver" android:enabled="true">
                <intent-filter>
                      <action android:name="android.intent.action.ACTION_SCREEN_ON"></action>
                      <action android:name="android.intent.action.ACTION_SCREEN_OFF"></action>
                </intent-filter>
         </receiver>
...
    </application>
Run Code Online (Sandbox Code Playgroud)

MyBroadcastReceiver设置只是为了向日志吐出foo.什么也没做.有什么建议吗?我是否需要分配任何权限来捕获意图?

android broadcast

63
推荐指数
4
解决办法
4万
查看次数

听取ACTION_SCREEN_OFF

我正在尝试启动一个在正在侦听的后台运行的服务,ACTION_SCREEN_OFF当它找到时ACTION_SCREEN_OFF,启动我的活动.

我读到了你需要创建一个BroadcastReceiver的地方,因为把它放在清单XML中是行不通的.但是我不知道经过多次搜索后从哪里开始.

android

18
推荐指数
1
解决办法
2万
查看次数

android.intent.action.SCREEN_ON不能用作接收器意图过滤器

我正在尝试在打开屏幕时调用BroadcastReceiver.在我的AndroidManifest.xml中,我指定了:

                <receiver android:name="IntentReceiver">
                    <intent-filter>
                            <action android:name="android.intent.action.SCREEN_ON"></action>
                    </intent-filter>
                </receiver>
Run Code Online (Sandbox Code Playgroud)

然而,似乎永远不会调用接收器(断点不会触发,忽略日志语句).我已经为BOOT_COMPLETED换了SCREEN_ON进行测试,这确实被调用了.

这是一个1.6(SDK级别4)项目.

谷歌代码搜索显示了这一点,我下载了项目并同步了它,将其转换为使用最新工具,但它也无法拦截该事件.

http://www.google.com/codesearch/p?hl=en#_8L9bayv7qE/trunk/phxandroid-intent-query/AndroidManifest.xml&q=android.intent.action.SCREEN_ON

这可能不再支持了吗?

以前我已经能够通过调用Context.registerReceiver()来成功拦截此事件

registerReceiver(new BroadcastReceiver() {

  @Override
  public void onReceive(Context context, Intent intent) {
    // ... 
  }
}, new IntentFilter(Intent.ACTION_SCREEN_ON));
Run Code Online (Sandbox Code Playgroud)

然而,这是由一个长寿服务.遵循CommonsWare的sage建议,我选择尝试删除长期服务并使用不同的技术.但是我仍然需要检测屏幕上的事件.

android broadcastreceiver

8
推荐指数
1
解决办法
3万
查看次数

电池的最佳使用

作为程序员,我可以采取哪些措施来保证我的应用程序不会占用大量资源并耗尽电池电量?

android

6
推荐指数
1
解决办法
393
查看次数

标签 统计

android ×4

broadcast ×1

broadcastreceiver ×1