【问题标题】:Listen Broadcast Before application uninstall在应用程序卸载之前收听广播
【发布时间】:2014-05-15 23:47:44
【问题描述】:

我已安装 Avg Antivirus 用于测试目的。
经过测试,当我尝试卸载该防病毒软件时,防病毒软件提示我“您确定要删除此应用程序吗?”。
该提示屏幕是由防病毒应用程序生成的。在那个屏幕之后,我得到了带有 OK 和 CANCEL 按钮的系统提示。因此,该提示是由防病毒应用程序发出的。

现在我的问题是……

如何在我的应用程序中为用户设置提示屏幕,如上文所述? 我知道“android.intent.action.PACKAGE_REMOVED”,但它是在应用程序完全卸载后收到的。

感谢任何帮助。

谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    我添加了以下意图过滤器,现在我收到了选择活动的对话框。我认为您应该使用此过滤器来显示您的活动(尤其是过滤器的数据部分)。

    <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"  />
            </intent-filter>
    
    
    
        </activity>
    
    </application>
    

    【讨论】:

    • 它工作正常,但我不想在卸载期间进行所有活动。我想要特定活动的卸载时间。而且我不想收到安装打包程序和我的应用程序选项的对话框。
    • 不修改源码我认为是不可能实现的
    • 使用&lt;data android:scheme="package" android:pathPattern="com.my.app" /&gt;过滤特定的包删除意图
    • @Yury 我可以用Receiver代替Activity吗?
    • 我没有看到任何障碍,但我没有尝试。您可以尝试然后报告它是否有效。
    猜你喜欢
    • 2014-03-26
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多