2013-04-10 50 views
0

我想在啓動使用ResolverActivity.java的可用應用程序之後,保存用戶在單擊複選框時選擇的默認操作。我已經通過ResolverActivity.java,下面的代碼塊得到執行,但仍然沒有保存默認的操作。而下次我需要再次選擇動作/應用程序。如何保存用戶在選擇器活動中選擇的默認操作

代碼:

getPackageManager().addPreferredActivity(filter, bestMatch, set, 
        intent.getComponent()); 

任何人能告訴我什麼是這個代碼背後的原因不能正常工作。

回答

0

Android安全策略將禁止您更改首選活動,但是如果您的活動已設置爲默認活動,則可以取消設置該默認活動。

如果您只需要自己的應用程序的默認值,則必須編寫所有代碼來自行處理。創建自己的對話框,有一個可供選擇的選項列表,你自己的複選框記住設置,你自己的代碼保存&加載默認等。

+0

我在我的鍵盤上有一個信封鍵,我正在使用解析活動將所有消息傳遞應用作爲用戶選項。用戶可以選擇任何消息類型即,短信,電子郵件,Gmail,WhatsApp等,並通過點擊「將其設置爲Deault」複選框將其設置爲默認值。但我的問題是:用戶選擇的默認操作沒有得到保存,並且當用戶按下信封鍵時,他需要從選項列表中進行選擇。在Android中恢復默認值? – dipali 2013-04-16 09:56:00

+0

要讓用戶爲您的應用程序設置默認值,您無法使用ResolverActivity。你必須自己完成所有的工作。使用PackageManager.queryIntentActivities()獲取選項列表,然後在ListView中顯示給用戶,將結果保存到SharedPreferences等。我不會爲你做所有這些,但如果你完成了一半的工作,卡住了,發佈一個新問題。 – 2013-04-17 15:31:36

2

由於安全原因,第三方應用程序無法控制任何操作的默認應用程序。只有系統可能會改變這些設置。