我只是想在锁定屏幕中显示一个活动,但由于调用了这个未知或特殊权限SHOW_ON_LOCK_SCREEN
,MIUI
我无法使其工作。
我已经尝试了以下代码,但没有运气。
<uses-permission android:name="android.permission.WAKE_LOCK" />
public class FloatingWindow extends AppCompatActivity {
PowerManager powerManager;
PowerManager.WakeLock wakeLock;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
//First Attempt
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
setContentView(R.layout.floating_window);
//Second Attempt
powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, String.valueOf(getApplicationContext()));
wakeLock.acquire();
}
@Override
public void onDestroy(){
super.onDestroy();
wakeLock.release();
}
}
这是一件事,它适用于除 MIUI 之外的其他安卓手机。我试过手动启用SHOW_ON_LOCK_SCREEN
和工作。
究竟是SHOW_ON_LOCK_SCREEN
什么?我在 Android 文档中找不到它,我们应该如何以编程方式启用它?
我注意到我的一些应用程序在没有手动启用它的情况下成功启用它。