4

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

我保存其他类似的东西

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();

但我不能这样做

4

2 回答 2

7

好的,我找到了一种方法来保存这样的意图

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();
    }
于 2012-08-14T16:48:35.833 回答
0

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

于 2012-08-14T16:03:32.510 回答