我正在開發一個應用程序,它應該在安裝後將其快捷方式添加到主屏幕,並在應用程序卸載後將其刪除。應用程序將預安裝在最終用戶設備上,但仍應具有卸載選項)。該任務看起來很簡單,但我遇到了很多實施它的麻煩。如何從主屏幕上自動卸載應用程序快捷方式?
我做了什麼:
- 快捷鍵添加到應用上的第一次發射或螈設備 重啓使用 com.android.launcher.action.INSTALL_SHORTCUT 主屏幕。
- 手動刪除使用 com.android.launcher.action.UNINSTALL_SHORTCUT的快捷方式。
我不能(而且幾乎放棄):
- 自動刪除快捷方式時 的應用程序被卸載。
沒有辦法使用Intent.ACTION_PACKAGE_REMOVED,因爲卸載的應用程序沒有收到這個意圖。 我進行了一些測試,發現使用該應用程序刪除的唯一快捷方式是從菜單'添加到主屏幕=>快捷方式=>應用程序=>應用程序活動'創建的快捷方式。正在以編程方式創建的快捷方式或在AndroidManifest中聲明的快捷方式在卸載應用程序後仍保留在主屏幕上。
幾乎沒有關於此主題的論壇上的文檔和帖子,我有點困惑,爲什麼這樣一個不會與Android安全策略相抵觸的簡單操作無法以直接方式實現。
有什麼辦法可以要求操作系統刪除應用程序卸載相應的快捷方式? 我可以捕獲應用程序在被移除之前被卸載的事件嗎?
請注意,「預安裝」不一定意味着「固件」。可以安裝應用程序,就好像它是普通應用程序一樣,但可能會事先在設備上提供。例如,ARCHOS 5 Android平板電腦可以用十幾個應用程序來完成這項工作。 – CommonsWare 2010-01-25 12:13:20
確實。我正在處理那些*將安裝在固件上的應用程序,所以我一定要提到固件部分。但我認爲由於缺乏PACKAGE_REMOVED廣播,問題依然存在。 – 2010-01-25 12:33:32
儘管您的評論促使我爲非固件預安裝添加了一個潛在解決方案。 :) – 2010-01-25 12:40:07