100*_*abh 21 android intentfilter broadcastreceiver
我所要做的就是在每次安装和卸载时更新我的列表,但不更新包更换.因此,主要问题是每次替换操作都会启动安装和卸载意图.
所以为此我已经实现了如下的BroadcastReciever
<receiver android:name =".IntentReceiverTest.AppReciever">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
在每个替换我得到3个广播与行动
所以请建议任何更好的方法来捕捉替换行动
要么
由于PACKAGE_REMOVED和PACKAGE_ADDED操作而停止先前启动的服务的方法.
小智 30
只需检查intent.getBooleanExtra(Intent.EXTRA_REPLACING, false):
if (!intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED) &&
intent.getBooleanExtra(Intent.EXTRA_REPLACING, false))
return;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9465 次 |
| 最近记录: |