2012-09-27 51 views
1

開始的意圖我有檢查應用程序卸載此代碼:上package_removed

public void onReceive(Context context, Intent intent){ 
    final String action = intent.getAction(); 
     if("android.intent.action.PACKAGE_REMOVED".equals(action)){ 
     // some action 
    } 

現在我想要得到的卸載應用程序的啓動意圖。 這可能嗎?

回答

1

請參閱以下網址:

的發表雅努什在這裏非常有幫助..

的android可悲的是,此刻不給您可以在卸載應用程序時執行代碼。

通過SharedPreferences設置的所有設置與「應用程序數據和緩存」文件夾中的所有內容一起被刪除。

唯一會持續的是寫入SD卡的數據以及所做的任何電話設置更改。我不知道通過您的應用程序同步到聯繫人的數據會發生什麼情況。

+0

我沒有很好地解釋我的問題。 我不想知道我的應用何時未被阻止。我想知道什麼時候任何應用程序未被阻止,通過縮進pagkage_removed,並知道什麼是未停用的應用程序的縮進。 – DrFred

+0

雅..看到從第二個鏈接CommonsWare答案.. !!! –

1

我想要發現這一點的唯一方法就是測試這個。您可以使用以下代碼來查找應用程序的啓動意圖:

final Intent launchIntent = pm.getLaunchIntentForPackage(packageName); 

其中pm - 是PackageManager。

以我的觀點來看,這是不可能的,你會收到launchIntent等於null。但你應該自己檢查一下。

+0

我同意@Yury ... –

+0

感謝您的回覆,這可能幾乎是一個解決方案,但我有一個數據庫意圖的一些應用程序(我可以保存在數據庫也包),當一個應用程序unistalled,我會刪除這個應用程序的所有記錄。問題是要知道哪個應用程序未被阻止。 因此,在getLaunchIntentForPackage(packageName)中,packageName = ??? – DrFred