我搜索了很多並找不到,是否可以收聽應用的清除數據事件?但!不是爲我自己的應用程序,然後爲Google Play服務應用程序?是否有可能註冊某種事件?清除其他應用的數據事件
0
A
回答
1
您可以通過向您的BroadcastReceiver添加android.intent.action.PACKAGE_DATA_CLEARED
動作和package
方案來收聽其他應用程序的廣播清除。
的AndroidManifest.xml例如:
String action = intent.getAction();
if (Intent.ACTION_PACKAGE_DATA_CLEARED.equals(action)) {
Integer uid = intent.getIntExtra(Intent.EXTRA_UID, Integer.MIN_VALUE);
String packageName = context.getPackageManager().getNameForUid(uid);
}
或本:
String action = intent.getAction();
Uri data = intent.getData();
if (Intent.ACTION_PACKAGE_DATA_CLEARED.equals(action) && data != null) {
String packageName = data.getSchemeSpecificPart();
}
正如你已經
<receiver
android:name=".PackageDataClearedReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
對於從意向獲取數據,在廣播接收器使用在你的問題中提到,不可能聽清包裝廣泛施放你自己的應用程序。
1
嘗試收聽廣播意圖
android.intent.action.PACKAGE_DATA_CLEARED
1
我設法找到一個解決辦法,7383的答案是不完整的,它添加重要的scheme="package"
<action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
<android:scheme="package" />
並在您的BroadcastReceiver
中獲得包裹信息intent.getData()
。
+1
你從我的答案中得到了進一步的解決方案,你應該提高我的答案,因爲它沒有錯。我提供解決方案的方式是指出正確的事情,但不要提供解決方案。 – 7383
相關問題
- 1. 清除iOS中的緩存:刪除其他應用程序的數據
- 2. 在其他應用程序中清除應用程序的數據
- 3. history.back和RadEditor清除其他形式的數據
- 4. 如何清除其他應用程序的隔離存儲?
- 5. Android,清除應用程序的數據
- 6. 清除Android應用程序的數據
- 7. 清除完整日曆後事件刪除後的數據
- 8. .empty()清除事件
- 9. 爲什麼datatable.Clear,清除其他數據表呢?
- 10. 如果刪除其他單元所依賴的主數據,如何清除其他單元的內容?
- 11. 如何清除其他標籤的backstack?
- 12. mixare-刪除/禁用其他數據源
- 13. 無法清除inverval函數從其他函數調用
- 14. 更改其他應用清單Android
- 15. 清除應用程序數據Onclick- Android
- 16. 成功時清除其他文字不應該在android中清除
- 17. 清除應用程序的文件夾中的數據
- 18. 在ajax中清除一個表格,不清除其他
- 19. 響應事件在其他JPanels
- 20. jQuery - 綁定多個事件並排除其他事件
- 21. jqGrid刪除時的其他POST數據
- 22. 以其他形式使用數據模塊事件
- 23. 爲什麼SQLite數據庫清除了從應用程序管理清除應用程序的數據?
- 24. 請求其他應用程序數據
- 25. 清除plotly點擊事件
- 26. JQuery清除隊列事件
- 27. 清除c中其他軟件的垃圾內存#
- 28. 「清除用戶數據」android
- 29. 事件偵聽通知其他事件
- 30. 事件導致其他事件
不是。這是不可能的。這些功能在Android API中不提供。 – Budius