假设应用程序Foo a Eggs在同一个Android设备上。任一应用程序都可以获取设备上所有应用程序的列表。一个应用程序是否可以知道另一个应用程序是否运行了多长时间?
答案 0 :(得分:4)
您可以使用PackageManager获取已安装应用程序的列表。 来自here的代码:
public class AppList extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PackageManager pm = this.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List list = pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED);
for (ResolveInfo rInfo : list) {
Log.w("Installed Applications", rInfo.activityInfo.applicationInfo.loadLabel(pm).toString());
}
}
}
要查看当前正在运行的应用,您可以使用ActivityManager。
答案 1 :(得分:1)
此post解释了如何以通用方式实现该功能。
此post和此one包含使用ActivityManager
的{{1}}列出正在运行的应用程序的活动的摘要。
此post说明了如何获取所有已安装应用程序的列表,然后选择要运行的应用程序。
答案 2 :(得分:0)