【问题标题】:How to know my app is uninstalled from the device...?如何知道我的应用程序已从设备上卸载...?
【发布时间】:2012-01-30 23:34:00
【问题描述】:

我在许多设备上都安装了一个应用程序。

如果从任何设备上卸载了应用程序,我需要一个指示。

如何实现这一点。

提前谢谢...!

【问题讨论】:

  • 您必须在哪里获得指示?在该设备或与您的所有设备进行控制/通信的任何外部设备中?请清楚地提出问题。
  • 您的意思是您想要任何提示或 toast 消息表明您的应用程序已卸载。对吗?
  • 如果是这样,那么您在从设备上卸载它时已经得到它。
  • 他想知道用户何时从他们的设备上卸载了他的应用

标签: android google-play


【解决方案1】:

我的建议如下。您可以拦截应用程序卸载的意图。只需将以下代码放入清单文件中:

<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".UninstallIntentActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.DELETE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="package" android:pathPattern="com.testpack.yourapp" />
        </intent-filter>



    </activity>

</application>

在此之后,您可以以某种方式处理您的应用程序将被删除(例如,向您发送电子邮件),并调用包管理器卸载程序。

【讨论】:

  • 我是否需要将此添加到我的应用中...?
  • 我的主要活动不同。如果我放置此代码,我的启动器活动将不会在应用启动时启动......!
  • 是的,你应该修改代码。在这里,我只展示了您需要的权限和意图过滤器。
  • 嗨 @Yury 我想在用户点击卸载按钮时向特定的邮件 ID 发送邮件..你能帮帮我吗..
  • 我刚刚在 Android 7.1.1 中测试过,但没有成功。
【解决方案2】:

除非您跟踪 android 市场中的统计数据,否则您无法判断何时有人卸载了您的应用。除非你只有几次安装,否则这可能会很困难

【讨论】:

  • 那就没办法了。
  • 我正在为同一任务寻找程序化方法。
  • 您无法知道设备何时以编程方式卸载您的应用,哈哈
  • 它不是大声笑..!! McAfee、NQ 和许多其他公司已经完成了这项工作。
  • @BillGary 它也是由 UC 浏览器完成的。卸载应用程序时会打开一个网页。我不知道是什么让你哈哈大笑。
【解决方案3】:

我所做的是通过 GCM/FCM 向设备发送一条空消息来创建计划作业,如果 GCM/FCM 的响应是“未注册”,那么我知道该应用已从设备中删除。

我每天执行一次此“检测”以报告有多少设备仍在安装我的应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多