我从url(我的服务器)下载了apk文件并将其保存在sdcard中。如果用户从sdcard安装它,我想知道,是否已成功安装应用程序或应用程序在设备中的任何通知。安装的应用程序是否有回调
答案 0 :(得分:10)
试试这段代码:
protected boolean isAppInstalled(String packageName) {
Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if (mIntent != null) {
return true;
}
else {
return false;
}
}
轻松获取应用的软件包名称:只需在google play website
中搜索您的应用,然后您将获取id参数(它是应用的软件包名称)。示例:
你将在google play上搜索Youtube应用程序,你会在这个网址中找到它:
包名称是id参数,因此它是:com.google.android.youtube
然后当你想测试时,你将只有:
String packageName = "com.google.android.youtube";
boolean isYoutubeInstalled = isAppInstalled(packageName);
加:如果您想获取设备中所有已安装应用的列表,可以在此tutorial
中找到答案答案 1 :(得分:1)
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
您将获得Android上所有已安装应用程序的列表。
答案 2 :(得分:1)
使用此选项检查是否已安装应用程序
PackageManager pm = context.getPackageManager();
List<ApplicationInfo> list = pm.getInstalledApplications(0);
for (int i = 0; i < list.size(); i++) {
if(list.get(i).packageName.equals("com.my package")){
//do what you want
}
}
答案 3 :(得分:0)
在Youtube Player API中,您可以访问YoutubeIntents课程并使用isYoutubeInstalled来验证设备是否具有Android应用。