弄清楚Android应用程序是通过网络市场还是使用Android Market应用程序安装的

hsz*_*hsz 2 android google-play

现在,当用户想要下载应用程序时,他可以使用手机上安装的Android Market应用程序或通过网络市场进行操作.

有可能弄清楚,这个应用程序安装的方式是什么?

For*_*rce 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;
}
Run Code Online (Sandbox Code Playgroud)

然而,根据评论,在某些手机上,这仍然会返回null.

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

如果它没有改变,我认为不可能检查它的安装方式,因为Vending.apk收到了推送通知.