美文网首页
android 获取后台运行APP

android 获取后台运行APP

作者: Coderqzw | 来源:发表于2020-07-08 11:48 被阅读0次

作为android的开发者,获取后台运行APP应该就像是基本功一样。不过遇到这个需求,在网上搜了好长时间,试了各种方法,都没有达到要求。感觉网上的文章都是各种抄。

终于找到了处理办法,测试了之后,可以达到要求,特别记录下来!


/**

* 获取后台运行APP packageName

*

* @param context

*/

public static void getRunningApp(Context context) {

    PackageManager localPackageManager = context.getPackageManager();

    List localList = localPackageManager.getInstalledPackages(0);

    for (int i =0; i < localList.size(); i++) {

        PackageInfo localPackageInfo =(PackageInfo) localList.get(i);

        String packageStr = localPackageInfo.packageName.split(":")[0];

        if (((ApplicationInfo.FLAG_SYSTEM & localPackageInfo.applicationInfo.flags) ==0)

                &&((ApplicationInfo.FLAG_UPDATED_SYSTEM_APP & localPackageInfo.applicationInfo.flags) ==0)

                &&((ApplicationInfo.FLAG_STOPPED & localPackageInfo.applicationInfo.flags) ==0)) {

            Log.e("TAG", packageStr);

        }

    }

}

当然还有点疑问,这个方法获取的是后台的APP,即是按菜单键后台可以看到的APP,但是有可能已被系统杀死。所以有更好的方法欢迎评论分享!

相关文章

网友评论

      本文标题:android 获取后台运行APP

      本文链接:https://www.haomeiwen.com/subject/lfnqcktx.html