首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道android应用正在安装/下载

如何知道android应用正在安装/下载
EN

Stack Overflow用户
提问于 2014-06-17 00:26:17
回答 3查看 141关注 0票数 0

我正在开发一个android应用程序,其中用户赚取积分时,他安装和运行的应用程序从播放商店。现在,如果用户想要赚取品脱,那么他必须从play store...while安装一些应用程序,从play商店安装应用程序是什么状态(安装/下载)

在我的Android应用程序中,我想知道应用程序的状态。即app正在安装或下载中

我发现NotifyListenerservice...not肯定只是为了这个目的。

请告诉我如何做到这一点。

谢谢,安加利

EN

回答 3

Stack Overflow用户

发布于 2014-06-17 01:09:25

使用BroadcastReceiver查看它是否已安装或删除,或您想要的任何东西。

代码语言:javascript
复制
   <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来验证应用程序是否已经启动,但你不应该滥用它。

票数 0
EN

Stack Overflow用户

发布于 2014-06-17 02:47:24

No你不能检查..你的应用程序无法察觉到正在安装或已下载。

只有在手动启动应用程序之后,才会初始化广播接收器。在此之前,广播接收器实际上并没有在收听。应用程序处于停止状态。该应用程序需要一个手动启动

票数 0
EN

Stack Overflow用户

发布于 2014-06-17 14:24:32

@Anjali您正在询问的问题称为转换跟踪。你可以在谷歌上找到更多关于这个术语的信息。

当应用程序安装在设备上时,操作系统会向应用程序发送一个广播,该广播可以由应用程序收听。看看下面的代码:

代码语言:javascript
复制
@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

对于它,您需要以下清单条目:

代码语言:javascript
复制
<receiver android:name="packagename.BoradcastReciverImplmentedClass" android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24248210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档