我需要在用戶登錄某個頁面時顯示安全提示,當他通過home鍵或最近鍵返回時,但是這些fragements和activity生命週期回調在不同的OEM上有所不同, 我嘗試使用活動堆棧來監視topactivity,但它只返回我的應用程序包,還有什麼可以完成的。我需要在我的應用程序中實現一個安全鎖,如applock
ActivityManager manager = (ActivityManager) getApplicationContext()
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTasks = manager.getRunningTasks(1);
String mPackageName="";
if(Build.VERSION.SDK_INT > 20){
mPackageName= manager.getRunningAppProcesses().get(0).processName;
}
else{
mPackageName = manager.getRunningTasks(1).get(0).topActivity.getPackageName();
}
if (runningTasks != null && runningTasks.size() > 0) {
ComponentName topActivity = runningTasks.get(0).topActivity;
if (!mPackageName.equals(getPackageName())) {
isTopActivityFromApp = false;
} else {
if (mPackageName.equals(getPackageName()) && topActivity.getClassName().equals(PaySendActivity.class.getName()) && !isTopActivityFromApp) {
// Other Application is opened
isTopActivityFromApp = true;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (WalletSharedPrefs.INSTANCE.isPatternLockEnabled(getApplicationContext())) {
showprompt();
}
}
}
}
我認爲你必須建立一個啓動應用程序,如Nova Launcher或Go Launcher等。我認爲這是攔截其他應用程序的唯一方法 –
不,我不需要開發一個啓動器應用程序,我需要做的就是在用戶登陸時顯示安全鎖定,無論是從最後還是回家。 –