要检索在手机上安装的应用程序所需要的功能列表 [英] To retrieve the list of installed application required features on the phone
问题描述
我能够通过软件包管理器获取在我的code安装的应用程序的列表:
公开的ArrayList< InstalledAppData> importInstalledAppsData(){
ArrayList的< InstalledAppData> APPLIST =新的ArrayList< InstalledAppData>();
软件包管理系统pkgManager = getApplicationContext()getPackageManager()。
清单< ApplicationInfo>包= getInstalledApplicationsList(pkgManager);
串DEVICEID = Util.getDeviceId(getApplicationContext()); 对于(ApplicationInfo packageInfo:包){
字符串的packageName = packageInfo.packageName;
串的appName =;
字符串appFile = packageInfo.sourceDir;
长installTime =新的文件(appFile).lastModified();
字符串状态=S;
如果((packageInfo.flags&放大器; ApplicationInfo.FLAG_SYSTEM)== 1){
的appName =(字符串)pkgManager.getApplicationLabel(packageInfo);
}
其他{
的appName =(字符串)pkgManager.getApplicationLabel(packageInfo);
}
InstalledAppData数据=新InstalledAppData(DEVICEID,的packageName,的appName,installTime,地位);
appList.add(数据);
}
返回APPLIST;
}
现在我想找出当前具有位置服务我enabled.How能做到这一点的手机上的所有安装的应用程序?
日Thnx提前
我怎样才能做到这一点?
块引用>您不能。在Android SDK有没有办法为一个应用程序到另一个应用程序使用的谍
的LocationManager
。您可以注册
PASSIVE_PROVIDER
来看看的任何的恰好是请求位置更新,但你不能配合下来到一个特定的应用程序I am able to fetch the list of the installed application in my code by package manager:
public ArrayList<InstalledAppData> importInstalledAppsData(){ ArrayList<InstalledAppData> appList=new ArrayList<InstalledAppData>(); PackageManager pkgManager=getApplicationContext().getPackageManager(); List<ApplicationInfo> packages=getInstalledApplicationsList(pkgManager); String deviceId=Util.getDeviceId(getApplicationContext()); for (ApplicationInfo packageInfo : packages) { String packageName=packageInfo.packageName; String appName=""; String appFile = packageInfo.sourceDir; long installTime = new File(appFile).lastModified(); String status="s"; if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { appName = (String) pkgManager.getApplicationLabel(packageInfo); } else { appName = (String) pkgManager.getApplicationLabel(packageInfo); } InstalledAppData data=new InstalledAppData(deviceId, packageName, appName, installTime, status); appList.add(data); } return appList; }
Now i want to identify all installed apps on the phone that currently have location services enabled.How can i do this? Thnx in advance
解决方案How can i do this?
You can't. The Android SDK has no means for one application to spy on another application's use of
LocationManager
.You can register for the
PASSIVE_PROVIDER
to see if anyone happens to be requesting location updates, but you cannot tie it down to a specific application.这篇关于要检索在手机上安装的应用程序所需要的功能列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!