Check App安装在设备安卓代码上

时间:2012-11-26 14:05:13

标签: java android

我从url(我的服务器)下载了apk文件并将其保存在sdcard中。如果用户从sdcard安装它,我想知道,是否已成功安装应用程序或应用程序在设备中的任何通知。安装的应用程序是否有回调

4 个答案:

答案 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应用程序,你会在这个网址中找到它:

https://play.google.com/store/apps/details?id=com.google.android.youtube&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5nb29nbGUuYW5kcm9pZC55b3V0dWJlIl0

包名称是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应用。