2012-01-09 110 views
2

现在,当用户想要下载应用程序时,他可以使用Android Market应用程序安装在他的手机上或通过web Market完成。找出是否通过web Market或使用Android Market应用程序安装了Android应用程序

是否有可能找出安装此应用程序的方式?

+0

? – Selvin 2012-01-09 11:02:09

+0

@Selvin对不起,我不明白你的问题。 – hsz 2012-01-09 11:21:55

+0

miałemnamyślipnkt widzenia aplikacji,czyli,czy chcesz tosprawdzićw aplikacji。 druga opcja:czy chcesz te danewydobyćz konta,naktórympublikujesz aplikacje ... o ile w drugim przypadku,możliwejest,żeGooglegdzieśto zapisuje o tyle w pierwszym przypadku nie wydaje misiębybyłotomożliwe – Selvin 2012-01-09 11:38:29

回答

6

Android Cracking Blog发现这一点:

private boolean InstalledFromMarketEasy() { 

String pname = this.getPackageName(); 
    PackageManager pm = this.getPackageManager(); 
    String installPM = pm.getInstallerPackageName(pname); 

    if (installPM == null) { 
    // Definitely not installed from Android Market 
    return false; 
    } 
    else if (installPM.equals("com.google.android.feedback")) { 
    // Installed from the Android Market 
    return true; 
    } 

    return false; 
} 

根据该意见然而,在某些手机但这仍然返回null。

尝试使用此方法查看手机是否返回null。如果没有,请在使用Android Market Vending而不是WebInterface时更改installPM

如果它没有变化,我认为不可能检查它是如何安装的,因为Vending.apk收到推送通知。

+0

谢谢你的这个例子和这个博客 - 这很好。我担心解决这个问题会有点痛苦。 – hsz 2012-01-09 11:26:50

+0

它工作?这些字符串是不同的? – Force 2012-01-09 11:38:46

+0

我现在不会告诉你。当我有机会时,我会给你一些反馈。 – hsz 2012-01-09 11:48:35

0
更好

应该

else if (installPM.equals("com.android.vending")) { 
     // Installed from the Android Market 
     return true; 
     } 
从角度还是从市场应用的发布者帐户已安装的应用点
相关问题