2012-01-09 76 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; 
     } 
從角度還是從市場應用的發佈者帳戶已安裝的應用點
相關問題