0

我只是想在锁定屏幕中显示一个活动,但由于调用了这个未知或特殊权限SHOW_ON_LOCK_SCREENMIUI我无法使其工作。

我已经尝试了以下代码,但没有运气。

<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 文档中找不到它,我们应该如何以编程方式启用它?

我注意到我的一些应用程序在没有手动启用它的情况下成功启用它。

4

0 回答 0