2014-02-19 48 views
0

我写了下面的代码在我的Android应用程序,以确定哪些Play商店是从downlaoded:确定的Android Play商店

public enum AppStore { 
     GOOGLE("com.android.vending", "market://details?id="), 
     AMAZON("com.amazon.venezia", "amzn://apps/android?p="); 

     private String packageName; 
     private String marketUrl; 

     private AppStore(String pName, String url) { 
      this.packageName = pName; 
      this.marketUrl = url; 
     } 

     public String getPackageName() { 
      return this.packageName; 
     } 

     public String getMarketUrl() { 
      return this.marketUrl; 
     } 

     public static AppStore getAppStore(String packageName) { 
      if(GOOGLE.packageName.equalsIgnoreCase(packageName)) { 
       return GOOGLE; 
      } else if(AMAZON.packageName.equalsIgnoreCase(packageName)) { 
       return AMAZON; 
      } 

      return null; 
     } 
    }; 

    public static AppStore getAppStore(Context ctx) { 
     String packageName = ctx.getPackageName(); 
     PackageManager pacman = ctx.getPackageManager(); 
     String installer = pacman.getInstallerPackageName(packageName); 

     return AppStore.getAppStore(installer); 
    } 

但我不能对它进行测试。因为我总是从我的本地构建中获得空值。有没有什么方法可以测试它是否工作。

回答