我正在开发一个android应用程序,其中用户赚取积分时,他安装和运行的应用程序从播放商店。现在,如果用户想要赚取品脱,那么他必须从play store...while安装一些应用程序,从play商店安装应用程序是什么状态(安装/下载)
在我的Android应用程序中,我想知道应用程序的状态。即app正在安装或下载中
我发现NotifyListenerservice...not肯定只是为了这个目的。
请告诉我如何做到这一点。
谢谢,安加利
发布于 2014-06-17 01:09:25
使用BroadcastReceiver查看它是否已安装或删除,或您想要的任何东西。
<receiver
android:name=".receiver.PackageChangeReceiver"
android:enabled="true">
<intent-filter android:priority="99999998">
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
<action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package" />
</intent-filter>
</receiver>你可以在这里找到一个例子Intent PACKAGE_ADDED not registering
你也可以使用AccessibilityService来验证应用程序是否已经启动,但你不应该滥用它。
发布于 2014-06-17 02:47:24
No你不能检查..你的应用程序无法察觉到正在安装或已下载。
只有在手动启动应用程序之后,才会初始化广播接收器。在此之前,广播接收器实际上并没有在收听。应用程序处于停止状态。该应用程序需要一个手动启动。
发布于 2014-06-17 14:24:32
@Anjali您正在询问的问题称为转换跟踪。你可以在谷歌上找到更多关于这个术语的信息。
当应用程序安装在设备上时,操作系统会向应用程序发送一个广播,该广播可以由应用程序收听。看看下面的代码:
@Override
public void onReceive(Context context, Intent intent) {
try {
if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
Bundle extras = intent.getExtras();
String referrerString = extras.getString("referrer");
//ReferrerString variable contain your data which was passed to your application. Now you can do whatever you want to like communicating with server etc.
}
} catch (Exception e) {
}
}通常,如果您在url中传递一些唯一的参数来安装应用程序,那么您将在ReferrerString中获得这些参数。您的play store链接将如下所示:
http://play.google.com/store/apps/details?id=packagename&referrer=yourdata
对于它,您需要以下清单条目:
<receiver android:name="packagename.BoradcastReciverImplmentedClass" android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>https://stackoverflow.com/questions/24248210
复制相似问题