블로그

[안드로이드] 외부 앱 실행

안드로이드 앱에서 다른 앱을 실행하는 방법입니다.

먼저 해당 앱이 설치되어 있는지 체크합니다. 아래 메소드는 com.example.testapp 이라는 패키지명으로 시작하는

앱이 설치되어 있는지 체크해서 있다면 true 를 리턴합니다.

public boolean getPackageList() {
    boolean isExist = false;

    PackageManager pkgMgr = getPackageManager();
    List<ResolveInfo> mApps;
    Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    mApps = pkgMgr.queryIntentActivities(mainIntent, 0);

    try {
        for (int i = 0; i < mApps.size(); i++) {
            if(mApps.get(i).activityInfo.packageName.startsWith("com.example.testapp")){
                isExist = true;
                break;
            }
        }
    }
    catch (Exception e) {
        isExist = false;
    }
    return isExist;
}

앱이 설치되어 있다면 앱을 실행합니다.

Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.testapp");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

앱이 설치되어 있지 않다면 앱스토어로 이동합니다.

String url = "market://details?id=" + "com.example.testapp";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
2015-12-31 목록