Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取android中使用gps的已安装应用程序列表?_Java_Android - Fatal编程技术网

Java 如何获取android中使用gps的已安装应用程序列表?

Java 如何获取android中使用gps的已安装应用程序列表?,java,android,Java,Android,我有一段代码,它返回一个设备所有已安装应用程序的列表: PackageManager pm = this.getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); List<ResolveInfo> list =pm.queryIntentActivities(intent,PackageManag

我有一段代码,它返回一个设备所有已安装应用程序的列表:

PackageManager pm = this.getPackageManager();

Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

List<ResolveInfo> list =pm.queryIntentActivities(intent,PackageManager.PERMISSION_GRANTED);
        for (ResolveInfo rInfo : list) {
            results.add(rInfo.activityInfo.applicationInfo.loadLabel(pm)
                    .toString());
            Log.w("Installed Applications", rInfo.activityInfo.applicationInfo
                    .loadLabel(pm).toString());
        }
PackageManager pm=this.getPackageManager();
意图=新意图(Intent.ACTION\u MAIN,空);
intent.addCategory(intent.CATEGORY_启动器);
List List=pm.QUERYINTENTACTIVES(意图、PackageManager.PERMISSION_授权);
对于(ResolveInfo-rInfo:list){
results.add(rInfo.activityInfo.applicationInfo.loadLabel(pm)
.toString());
Log.w(“已安装的应用程序”,rInfo.activityInfo.applicationInfo
.loadLabel(pm.toString());
}

但是现在我只想在我的列表中找到那些使用gps服务的应用程序,据我所知,如果我可以过滤这些应用程序中的权限,那么我就可以解决它,但不知道怎么做。

use可以使用下面的代码片段::

PackageManager packageManager=this.getPackageManager(); 
List<PackageInfo> applist=packageManager.getInstalledPackages(0);
Iterator<PackageInfo> it=applist.iterator();
while(it.hasNext()){
PackageInfo pk=(PackageInfo)it.next();
if(PackageManager.PERMISSION_GRANTED==packageManager.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, pk.packageName)) //checking if the package is having INTERNET permission
{
results.add(""+pk.applicationInfo.loadLabel(packageManager));
}
}
PackageManager-PackageManager=this.getPackageManager();
List applist=packageManager.getInstalledPackages(0);
迭代器it=applist.Iterator();
while(it.hasNext()){
PackageInfo pk=(PackageInfo)it.next();
if(PackageManager.PERMISSION\u grated==PackageManager.checkPermission(Manifest.PERMISSION.ACCESS\u FINE\u LOCATION,pk.packageName))//检查包是否具有INTERNET权限
{
结果.添加(“+pk.applicationInfo.loadLabel(packageManager));
}
}