【问题标题】:Any workaround to save an Intent in settings?在设置中保存 Intent 的任何解决方法?
【发布时间】:2010-05-11 16:45:49
【问题描述】:

希望你能用我的基本英语理解我的问题...

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

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

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

希望你能帮我找到解决办法。

【问题讨论】:

标签: android


【解决方案1】:

您应该使用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);
}

【讨论】:

  • 仅供参考,现在已弃用 toUri()。请改用 toUri(int flags)
【解决方案2】:

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

例子:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-05
    • 2011-01-20
    • 2012-05-17
    • 2013-09-22
    • 2023-03-23
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多