如何知道android应用程序是否在不使用packageInstaller的情况下从play store安装

如何知道android应用程序是否在不使用packageInstaller的情况下从play store安装,android,Android,是否有可能知道android应用程序是否在不使用packageInstaller的情况下从play store安装?其他每个问题都与packageInstaller相关,任何人都可以编辑,但我的问题是不使用packageInstaller。在Packagemanager chek for getInstallerPackageName中,此方法将为您提供信息。您应该使用 创建并注册文章中类似的BroadCastReceiver。 以下是我的简单示例: public class InstallRe

是否有可能知道android应用程序是否在不使用packageInstaller的情况下从play store安装?其他每个问题都与packageInstaller相关,任何人都可以编辑,但我的问题是不使用packageInstaller。在Packagemanager chek for getInstallerPackageName中,此方法将为您提供信息。

您应该使用
创建并注册文章中类似的
BroadCastReceiver
。 以下是我的简单示例:

public class InstallReferrerReceiver extends BroadcastReceiver {

    public static final String FROM_SPECIFIC_FEED = "FROM_SPECIFIC_FEED";
    public static final String MAIN_FEED_ID = "MAIN_FEED_ID";

    private static final String REFERRER = "referrer";

    private static final String SOURCE = "utm_source=";

    @Override
    public void onReceive(Context context, Intent intent) {
        String referrer = intent.getStringExtra(REFERRER);
        //"utm_source=24news.com.ua&utm_medium=js&utm_term=fee";
        //"utm_source=12&utm_medium=js&utm_term=fee";
        String mainFeed = extractMainFeed(referrer, false);

        if (mainFeed != null && mainFeed.length() > 0) {
            try {
                setMainFeed(context, Integer.parseInt(mainFeed));
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }
        }
    }

    private String extractMainFeed(String referrer, boolean toEnd) {
        if (!toEnd) {
            try {
                return referrer.substring(referrer.indexOf(SOURCE) + SOURCE.length(), referrer.indexOf("&"));
            } catch (Exception e) {
                return extractMainFeed(referrer, true);
            }
        } else {
            try {
                return referrer.substring(referrer.indexOf(SOURCE) + SOURCE.length());
            } catch (Exception e) {}
        }
        return null;
    }

    private void setMainFeed(Context context, int mainFeedId) {
        PreferenceManager.getInstance(context).setMainFeedId(mainFeedId);
        Intent fromSpecificFeed = new Intent(FROM_SPECIFIC_FEED);
        fromSpecificFeed.putExtra(MAIN_FEED_ID, mainFeedId);
        LocalBroadcastManager.getInstance(context).sendBroadcast(fromSpecificFeed);
    }
}

您是否在Play Store中找到了您要查找的应用程序?但有可能更改安装程序包名称,那么我们如何检测?您可以通过adb设置任何安装引用