美文网首页
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