在设置中保存Intent的任何解决方法?

希望你能用我的基础英语理解我的问题……

在我的应用程序中,我允许用户使用一个按钮来启动他选择的应用程序。 我没有问题列出所有已安装的应用程序,获取Intent并启动选择的应用程序。

但我想在下次用户使用我的应用程序时保存设置中的相应意图,但设置只允许我保存基本数据types(整数,布尔值,字符串等)

所以,我的问题是如何以聪明的方式保存意图。

我希望你能帮助我find解决方案。

您应该使用myIntent.toURI()来存储Intent ,并使用Intent.getIntent(String uri)来恢复Intent

 public void saveIntent(Intent intent) { mSharedPrefs.edit().putString(SOME_KEY, intent.toURI()).commit(); } public Intent restoreIntent() { String uri = mSharedPrefs.getString(SOME_KEY, *mSomeDefaultUri*); return Intent.getIntent(uri); } 

您可以只保存构建Intent所必需的String ,而不是保存Intent

例:

 Intent intent = new Intent("com.android.notepad.action.EDIT_TITLE"); 

现在您只需存储包含com.android.notepad.action.EDIT_TITLEString