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