android how to check应用程序是从(Play store/android market)或(蓝牙/其他)下载的

android how to check应用程序是从(Play store/android market)或(蓝牙/其他)下载的,android,bluetooth,Android,Bluetooth,我想在我的应用ABCD上验证。我在我的应用程序中添加了将其发送到其他设备的功能。我可以通过蓝牙将已安装的应用程序从我的设备发送到其他设备。 现在,我想创建支票 if(isFromPlayStore){ // always valid downloaded from play store }else{ // trial version expired in 30 day } 请看一看。这可能会帮助您了解一些情况。普通用户下载应用程序有两种最常见的方式 “com.android.

我想在我的应用ABCD上验证。我在我的应用程序中添加了将其发送到其他设备的功能。我可以通过蓝牙将已安装的应用程序从我的设备发送到其他设备。 现在,我想创建支票

if(isFromPlayStore){
    // always valid downloaded from play store
}else{
    // trial version expired in 30 day
} 

请看一看。这可能会帮助您了解一些情况。

普通用户下载应用程序有两种最常见的方式

“com.android.vending”是谷歌Play商店

“com.amazon.venezia”是亚马逊应用商店

“null”当它被侧向加载时(未知源)

要检查此项,请使用以下代码:

final PackageManager packageManager = getPackageManager();

try {
    final ApplicationInfo applicationInfo = packageManager.getApplicationInfo(getPackageName(), 0);
    if ("com.android.vending".equals(packageManager.getInstallerPackageName(applicationInfo.packageName))) {
        // App was installed by Play Store
    }  else if ("com.amazon.venezia".equals(packageManager.getInstallerPackageName(applicationInfo.packageName))) {
        // App was installed by Amazon Appstore
    } else {
        // App was installed from somewhere else
    }
} catch (final NameNotFoundException e) {
    e.printStackTrace();
}