从前台服务通知在锁定屏幕上显示活动

时间:2018-10-05 02:07:06

标签: android android-studio

我有一个前台服务正在运行,当我锁定它时,我想双击它以打开一个仍处于锁定状态的活动,或者至少可以添加onclick侦听器的布局。

我尝试使用以下方法创建活动:

    Intent notifyIntent = new Intent(this, activityname.class);

    notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
            | Intent.FLAG_ACTIVITY_CLEAR_TASK);

    PendingIntent notifyPendingIntent = PendingIntent.getActivity(
            this, 0, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT
    );

在未锁定时有效,在锁定时仅询问密码并在输入密码后启动它。

在我添加的活动中

    if (Build.VERSION.SDK_INT >= 27) {
        setShowWhenLocked(true);
        setTurnScreenOn(true);
    } else {
        Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                | WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    }

    setContentView(R.layout.activityname_layout);

清单中的活动是:

    <activity
        android:name=".activityname"
        android:configChanges="orientation"
        android:excludeFromRecents="true"
        android:noHistory="true"
        android:showOnLockScreen="true"
        android:screenOrientation="portrait"
        android:launchMode="singleTask"
        android:taskAffinity=""
        android:theme="@style/AppTheme.NoActionBar" />

我对此一无所知,并希望我可以采用其他方法。在锁定状态下如何显示交互式布局?

0 个答案:

没有答案