2013-09-03 33 views
8

một chút chóng mặt.Xác định xem ứng dụng có tồn tại hay không, nếu không truy cập cửa hàng Play

Điều tôi muốn biết là có thể nếu ứng dụng không tồn tại trên thiết bị, nó có thể đi vào cửa hàng trò chơi để tải xuống hay không. Tôi biết tôi cần phải đặt mã này trong

Intent i = getPackageManager().getLaunchIntentForPackage("com.package.address"); 
    startActivity(i); 

Nhưng nếu điều đó không tồn tại, sau đó tôi có thể lấy nó để đi đến Play Store

Trả lời

9

Bạn có thể sử dụng một trong những chức năng sau đây để kiểm tra xem các ứng dụng được cài đặt hay không.

Function 1

private boolean isAppInstalled(String packageName) { 
    PackageManager pm = getPackageManager(); 
    boolean installed = false; 
    try { 
     pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); 
     installed = true; 
    } catch (PackageManager.NameNotFoundException e) { 
     installed = false; 
    } 
    return installed; 
} 

Hoặc Chức năng 2

public boolean isAppInstalled(String targetPackage){ 
    List<ApplicationInfo> packages; 
    PackageManager pm = getPackageManager();   
    packages = pm.getInstalledApplications(0); 
    for (ApplicationInfo packageInfo : packages) { 
     if(packageInfo.packageName.equals(targetPackage)) return true; 
    }   
    return false; 
} 

SỬ DỤNG

if(isAppInstalled("com.package.name")){ 
    //Your Code 
} 
else{ 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.package.name"))); 
} 
+0

nơi bạn đã đặt tên gói, đó sẽ là đại diện được kết hợp với com.package.adress? – j1mmyg88

+0

Có. 'com.package.name' nên được thay thế bằng' com.package.address' –

+0

cảm ơn rất nhiều, điều này đã làm việc rất đẹp. – j1mmyg88

Các vấn đề liên quan