gpt4 book ai didi

android - 如何在不使用 packageInstaller 的情况下知道是否从 Play 商店安装了 Android 应用程序

转载 作者:行者123 更新时间:2023-11-30 00:34:31 25 4
gpt4 key购买 nike

是否可以在不使用 packageInstaller 的情况下知道是否从 Play 商店安装了 Android 应用程序?每个其他问题都与任何人都可以编辑的 packageInstaller 有关,但我的问题是不使用 packageInstaller

最佳答案

你应该使用 InstallReferrerReceiver .
像文章中那样创建并注册 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);
}
}

关于android - 如何在不使用 packageInstaller 的情况下知道是否从 Play 商店安装了 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43649392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com