如何在收到ACTION_SCREEN_ON消息时启动活动?

时间:2014-04-24 17:42:52

标签: android

我正在开发一个应用程序,它将开始接收ACTION_SCREEN_ON广播消息的活动 怎么实现这个?任何人都可以为它发布代码吗? 我知道我必须使用BroadcastReceiver。但我需要一个详细的解释,因为我是初学者。

1 个答案:

答案 0 :(得分:0)

在您的应用程序的AndroidManifest.xml中创建一个带有intent-filter的接收器来捕获android.intent.action.SCREEN_ON:

<receiver
    android:name="your.app.packagename.Receiver" >
    <intent-filter>
        <action android:name="android.intent.action.SCREEN_ON" />
    </intent-filter>
</receiver>

然后,创建接收器类:

package your.app.packagename;
// imports here
public class Receiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action != null && Intent.ACTION_SCREEN_ON.equals(action)) {
            // Do whatever you need to be done when screen turns on
        }
    }
}

意识到:

  • 您需要在开始接收ACTION_SCREEN_ON广播之前至少启动一次应用。

  • onReceive()方法预计会快速运行。如果您要做繁重的工作,请启动AsyncTask或后台线程。