2
我有一个前台服务正在等待一个动摇。当它接收到的运动,它会发出广播用:屏幕没有在Android中打开唤醒锁定
Intent i = new Intent("com.company.app.shakeDetectedMessage");
sendBroadcast(i);
我的主要活动收到此与实现该方法的广播接收器:
@Override
public void onReceive(Context context, Intent intent)
{
MainActivity.this.turnOnScreen();
Toast.makeText(getApplicationContext(), "Screen ON", Toast.LENGTH_SHORT).show();
}
轮到我上屏的方法:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
我有
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "SensorRead");
mWakeLock.acquire();
部分唤醒锁0
在服务中声明
但是,当我关闭屏幕并震动时,屏幕无法打开!我确认每种方法都使用日志。 onReceive即使在屏幕关闭的情况下也能正常工作。广播正在工作。只是屏幕不会打开!