Java Android服务检查用户屏幕是否打开或关闭
有没有办法创建一个永远在后台运行的服务,让Android用户检查屏幕是否打开或关闭,等等 我将创建一个分析,所以我需要知道用户何时打开或关闭屏幕Java Android服务检查用户屏幕是否打开或关闭,java,android,analytics,Java,Android,Analytics,有没有办法创建一个永远在后台运行的服务,让Android用户检查屏幕是否打开或关闭,等等 我将创建一个分析,所以我需要知道用户何时打开或关闭屏幕 谢谢,我将非常感谢您提供的所有输入您可以使用Android广播接收器来检测屏幕的打开和关闭。 这是一个很好的例子 你也可以遵循这个思路 您需要创建广播接收器并管理屏幕打开或关闭状态 Declare receiver in manifest: <receiver android:name=".DeviceWakeUpR
谢谢,我将非常感谢您提供的所有输入您可以使用Android广播接收器来检测屏幕的打开和关闭。 这是一个很好的例子 你也可以遵循这个思路
您需要创建广播接收器并管理屏幕打开或关闭状态
Declare receiver in manifest:
<receiver android:name=".DeviceWakeUpReceiver" />
public class DeviceWakeUpReceiver extends BroadcastReceiver {
private static final String TAG = "DeviceWakeUpService";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "onReceive() called");
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//End service when user phone screen off
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
//Start service when user phone screen on
}
}
}
在清单中声明接收方:
公共类设备WakeUpreceiver扩展广播接收器{
私有静态最终字符串TAG=“DeviceWakeUpService”;
@凌驾
公共void onReceive(上下文、意图){
d(标记“onReceive()调用”);
if(intent.getAction().equals(intent.ACTION屏幕关闭)){
//用户手机屏幕关闭时结束服务
}else if(intent.getAction().equals(intent.ACTION_屏幕_打开)){
//当用户手机屏幕打开时启动服务
}
}
}
您不能使用广播接收器接收屏幕关闭/打开事件。
编写一个intent服务,该服务通过引导完整侦听器启动,并注册intent.ACTION\u SCREEN\u OFF和intent.ACTION\u SCREEN\u ON
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
registerReceiver(new ScreenOffOnReceiver(), filter);
class ScreenOffOnReiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// Screen OFF
else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// Screen ON
}
}
}
可能重复的