andoird 设置锁屏上不显示通知
通过下图我们可以看到,在Android 手机锁屏后,会有通知在上面,如果一点击,则会跳转到对应的app 页面中。
想要使锁屏上不显示通知,我们可以在setting 中的菜单,如下图。得知设置这种效果的方法
@Override
215 public boolean onPreferenceChange(Preference preference, Object newValue) {
216 final String key = preference.getKey();
217 if (TextUtils.equals(mWorkSettingKey, key)) {
218 final int val = Integer.parseInt((String) newValue);
219 if (val == mLockscreenSelectedValueProfile) {
220 return false;
221 }
222 final boolean show = val == R.string.lock_screen_notifications_summary_show_profile;
223 Settings.Secure.putIntForUser(mContext.getContentResolver(),
224 Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
225 show ? 1 : 0, mProfileUserId);
226 mLockscreenSelectedValueProfile = val;
227 return true;
228 } else if (TextUtils.equals(mSettingKey, key)) {
229 final int val = Integer.parseInt((String) newValue);
230 if (val == mLockscreenSelectedValue) {
231 return false;
232 }
233 final boolean enabled = val != R.string.lock_screen_notifications_summary_disable;
234 final boolean show = val == R.string.lock_screen_notifications_summary_show;
235 Settings.Secure.putInt(mContext.getContentResolver(),
236 Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, show ? 1 : 0);
237 Settings.Secure.putInt(mContext.getContentResolver(),
238 Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, enabled ? 1 : 0);
// 从代码中可以得知,只需要设置LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS 和LOCK_SCREEN_SHOW_NOTIFICATIONS 就可以取消锁屏中的通知。
239 mLockscreenSelectedValue = val;
240 return true;
241 }
242 return false;
243 }
在需要去掉锁屏上通知的地方加入上面的设置,即可得到如下效果: