0

我在 Android 上的闹钟程序不适用于许多三星和 HTC 设备;在手动打开屏幕之前,它不会打开屏幕并且不会播放警报。这个问题出现在 Sony Xperia P 和 Huawei Honor 手机中......我使用任何我认为可以在我的代码中解决我的问题的东西,但它没有解决!:(

这是我的代码:

try {

    // baraye roshan kardane safe va roshan negah dashtane oon dar Huawei honor
    PowerManager mPowerManager = (PowerManager) PlayAlarmActivity.this.getSystemService(Context.POWER_SERVICE);
    mWakeLock = mPowerManager.newWakeLock((PowerManager.FULL_WAKE_LOCK 
         | PowerManager.ACQUIRE_CAUSES_WAKEUP), "Power Manager");                   
    mWakeLock.acquire();                    
    Log.i("Unlock Screen", "1");

} catch (Exception e) {
    Log.e("Error in playalarmactivity for unlock screen 1 ...", e.toString());
}           

try {
    // Set the window to keep screen on
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
    Log.i("Unlock Screen", "2");

} catch (Exception e) {
    Log.e("Error in playalarmactivity for unlock screen 2 ...", e.toString());
}

try {
    // baraye baz kardane lock dar gooshihayi mesle sonye Masoud!!! :D
    km = (KeyguardManager) PlayAlarmActivity.this.getSystemService(Context.KEYGUARD_SERVICE);
    kl = km.newKeyguardLock("MyKeyguardLock");
    kl.disableKeyguard();                     
    Log.i("Unlock Screen", "3");

} catch (Exception e) {
    Log.e("Error in playalarmactivity for unlock screen 3 ...", e.toString());
}
4

1 回答 1

0

尝试将此权限添加到您的AndroidManifest.xml

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
于 2014-11-09T20:24:25.330 回答