在共享偏好中保存意图

时间:2012-08-14 15:59:05

标签: java android

我有一个应用程序,我可以在其中启动安装在手机上的其他应用程序,只需长按我就可以获得应用程序选择器,结果我收到了意图数据,如何保存它以便用户在关闭时返回我的应用程序有相同的快捷方式设置吗?

我保存其他类似的东西

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
  SharedPreferences.Editor editor = settings.edit();
  editor.putInt("Counter1", counter);
  editor.putBoolean("FirstRun", firstRun);
  editor.putString("Label2", label2S);

  editor.commit();

但我不能对意图

做同样的事情

2 个答案:

答案 0 :(得分:5)

好的,我找到了办法 我保存了这样的意图

SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
                SharedPreferences.Editor editor = settings.edit();
                String uriString = data.toUri(requestCode); 
                editor.putString("Contacts_app", uriString);
                editor.commit();

然后我像这样检索它

SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
    String contactsApp = settings.getString("Contacts_app", null);
    try {
        telApp = Intent.parseUri(contactsApp, 0);
    } catch (URISyntaxException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

答案 1 :(得分:0)

您可以将对象序列化为字符串,并将结果字符串保存在首选项中。一种简单的方法是以json格式序列化它,例如使用Google Gson