0
我需要最好的解決方案。當我收到推送通知時,我想知道我的應用程序是否打開,因爲如果我的應用程序在用戶onClick通知時打開,我想調用特定方法,但如果應用程序關閉,我想打開應用程序。Android - 如何檢查我的應用程序是否在收到推送通知時打開?
我需要最好的解決方案。當我收到推送通知時,我想知道我的應用程序是否打開,因爲如果我的應用程序在用戶onClick通知時打開,我想調用特定方法,但如果應用程序關閉,我想打開應用程序。Android - 如何檢查我的應用程序是否在收到推送通知時打開?
基本上你需要的是檢查你的一個活動是否在前臺。可能是你應該檢查這個How to determine if one of my activities is in the foreground
//Use this method to check your app is running or not
public boolean isAppRunning(){
String packageName="Your package name";
ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> procInfoslist = activityManager.getRunningAppProcesses();
for(int i = 0; i < procInfoslist.size(); i++)
{
if(procInfoslist.get(i).processName.equals(packageName))
{
return true;
}
}
return false;
}
`
//Use this method to check any activity is running or not
public boolean isActivityRunning(Context ctx) {
ActivityManager activityManager = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (ActivityManager.RunningTaskInfo task : tasks) {
if (ctx.getPackageName().equalsIgnoreCase(task.baseActivity.getPackageName()))
return true;
}
return false;
}
歡迎來到stackoverflow!請你能發表一些關於你的答案的描述。謝謝。 – Robert