[英]How to get list of apps that use location programmatically in Android?
I'm developing an app on Android OS. 我正在Android操作系统上开发应用程序。
I need a method that returns the list of apps that rely on location services/GPS 我需要一种方法来返回依赖位置服务/ GPS的应用程序列表
You can use the code (from here ) to get list of permissions of installed apps on the device. 您可以使用代码(从此处获得)来获取设备上已安装应用的权限列表。 Then search for the required permissions about location services like ACCESS_FINE_LOCATION. 然后搜索有关位置服务(如ACCESS_FINE_LOCATION)的必需权限。 Your code would be something like this: 您的代码将如下所示:
PackageManager pm = getPackageManager();
List packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo applicationInfo : packages) {
Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName);
try {
PackageInfo packageInfo = pm.getPackageInfo(applicationInfo.packageName, PackageManager.GET_PERMISSIONS);
//Get Permissions
String[] requestedPermissions = packageInfo.requestedPermissions;
if(requestedPermissions != null) {
for (int i = 0; i < requestedPermissions.length; i++) {
Log.d("test", requestedPermissions[i]);
//////////////////////////////////////
//////////////////////////////////////
// Look for the desired permission here
//////////////////////////////////////
//////////////////////////////////////
}
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
}
And to do so, you need the following in your manifest: 为此,您需要在清单中包含以下内容:
<uses-permission android:name="android.permission.GET_TASKS"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.