[英]Android service to detect if another application is running
是否有類似Intent.ACTION_SCREEN_OFF
來跟蹤是否啟動了特定的應用程序? 任何幫助將不勝感激!
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// Do something
} else if (// application XYZ started) {
// Do something Else
}
您可以查看應用程序是否正在運行:
ActivityManager activity_manager = (ActivityManager)context.getSystemService(Activity.ACTIVITY_SERVICE);
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks (Integer.MAX_VALUE);
for (int i = 0; i < recentTasks.size(); i++)
{
Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");
}
如果應用程序是前台:
public static boolean isForeground(Context ctx, String myPackage){
ActivityManager manager = (ActivityManager) ctx.getSystemService(ACTIVITY_SERVICE);
List< ActivityManager.RunningTaskInfo > runningTaskInfo = manager.getRunningTasks(1);
ComponentName componentInfo = runningTaskInfo.get(0).topActivity;
if(componentInfo.getPackageName().equals(myPackage)) {
return true;
}
return false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.