【问题标题】:how to know android app is installing/downloading如何知道 android 应用程序正在安装/下载
【发布时间】:2014-06-17 14:24:32
【问题描述】:

我正在开发一个 android 应用程序,用户在该应用程序中安装并运行来自 Play 商店的应用程序时可以获得积分。现在,如果用户想要赚取品脱,那么他必须从 Play 商店安装一些应用程序......从 Play 商店安装应用程序时,应用程序的状态是什么(安装/下载)

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

我找到了 NotifyListenerservice...不确定它只是为了那个。

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

谢谢, 安贾利

【问题讨论】:

  • 您可能希望更详细地解释“应用程序的状态”和“应用程序正在安装或下载”的含义。
  • 如果您指的是应用程序在手机上的当前状态(下载、安装、卸载、运行、关闭等),您将遇到许多问题。如果您只是想知道应用程序是否正在下载或安装某些东西(从应用程序内),那就另当别论了。

标签: android


【解决方案1】:

使用 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 来验证应用程序是否已启动,但您不应滥用此功能。

【讨论】:

    【解决方案2】:

    不您无法检查..您的应用无法意识到正在安装或已下载。

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

    【讨论】:

      【解决方案3】:

      @Anjali 您提出的问题称为转化跟踪。您可以在 Google 上找到有关此术语的更多信息。

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

      @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 商店链接如下所示:

      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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-04
        相关资源
        最近更新 更多