我有一个前台服务正在运行,当我锁定它时,我想双击它以打开一个仍处于锁定状态的活动,或者至少可以添加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" />
我对此一无所知,并希望我可以采用其他方法。在锁定状态下如何显示交互式布局?