How to be notified when screen pinning is turned o

2019-03-31 14:15发布

I have an app that runs in the background and starts an activity when a certain event occurs on the phone. I'm finding with Android 5.0 that when the user has screen pinning turned on with another app, the startActivity(intent) call is ignored completely. My app doesn't know that the activity didn't start, so the user then won't have another chance to see the activity until they manually reopen my app.

Is there any sort of event I can register for to be notified when screen pinning is turned off, so I can reattempt to start my activity?

2条回答
萌系小妹纸
2楼-- · 2019-03-31 14:45

Here is method in ActivityManager class which tells status of current task if locked or not in case of screen pinning:

!mActivityManager.isInLockTaskMode()

For more details check this link: http://developer.android.com/reference/android/app/ActivityManager.html#isInLockTaskMode%28%29

查看更多
欢心
3楼-- · 2019-03-31 14:56

Your app must be a device administrator (with administration rights granted by user). Once you have done that, you can implement this callback:

AdminReceiver.onLockTaskModeExiting(Context context, Intent intent)

to do something when pinning mode is stopped.

To see how to make your app an Administrator app : you can check one of my previous answer here

查看更多
登录 后发表回答