如何知道任何其他内置的应用程序打开隐藏Android中的窗口管理器布局?

时间:2013-06-28 09:15:09

标签: android android-windowmanager

我从我的android小部件(浮在所有屏幕上)将一个布局附加到窗口管理器。现在我想从窗口管理器隐藏该布局,如果有任何应用程序(浏览器,设置等)打开。如何了解其他应用程序(如浏览器)是否已启动?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方式获取顶级App的包名称:

Context context = someArbitraryContext;
ActivityManager am = (ActivityManager) context.
    getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();

您还需要<uses-permission android:name="android.permission.GET_TASKS" />权限。

获得包名后,您可以使用PackageManager找出它是哪个应用。