android - 如何在安装应用程序时和打开应用程序之前获取用户详细信息?

标签 android broadcastreceiver android-service

因为我正在尝试获取刚刚安装我的应用程序的用户详细信息(用户尚未打开我的应用程序,只是下载)。出现此问题是因为 Google Play 控制台不提供统计信息。根据地区明智(仅国家/语言/版本/运营商等明智)。 我正在尝试获取用户的州/邮政编码以了解下载来自哪个区域。

我尝试了一种解决方案,该解决方案仅在用户打开应用程序并在没有任何 Activity 的情况下关闭时才有效,在这种情况下,我在启动画面上启动后台服务以获取他/她的当前地址并获取邮政编码/状态.

这是我目前的解决方案流程:

User Opens App --> [1] Splash Screen --> User Closes my app

[1] --> [2] Background service to get his/her location and zip code --> [3] sending to server.

我正在寻找一个答案,我可以在其中获取用户的邮政编码/州或区域以获取我的内部应用程序下载统计信息(按区域划分)。

最佳答案

我认为除非您执行 Broadcast receiver,否则您想要实现的目标是不可能的破解。从 google play console developer 你可以检查每个国家的下载量

enter image description here

但我猜你不能深入了解邮政编码,我也不认为它是否合法。

不打开应用程序很难知道一切,所以如果你想知道这些信息你必须在Splash Activity中处理这些信息。所以你可以用这些信息做任何你想做的事。

要获取邮政编码,您可以使用 Geocoder API 并使用 getFromLocaitonName 方法,所以你得到一个 List<Address>你可以 getPostalCode() 这将返回:

Returns the postal code of the address, for example "94110", or null if it is unknown.

小例子是(检查可空性 example with nullabilities :

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> mList = geocoder.getFromLocation(lat, lon, 1);
String zipcode = mList.get(0).getPostalCode();

或者你可以看看这个 Get zip code from latitude longitude

关于android - 如何在安装应用程序时和打开应用程序之前获取用户详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55430063/

相关文章:

android - 记事本问题 : getIntent() and set data (by reference? )

android - 滚动顶部时的 Recycler View 应该加载数据

java - 转向点脚本不起作用

android - 闹钟提醒不起作用

当短信来自电子邮件时,android.provider.Telephony.SMS_RECEIVED 不会触发

android - 如何保持与 Smack XMPP 的连接?

android - 如何让 slf4j-android 遵守 Logcat 日志记录级别?

java - 在 Android Studio 中将数据从 onReceive 传输到 SQL 数据库

android - onSensorChanged 在 sleep 后约 5 分钟不工作,直到应用程序打开。

android - 从 BroadcastReceiver 启动 Activity