颤动:在其他android标签中打开应用程序时(从其他应用程序获取共享数据时)从SharedPreferences重新获取数据

时间:2019-08-20 06:35:00

标签: flutter dart sharedpreferences

换句话说,我想为我的列表创建持久存储。

我现在正在做什么:

我有2种方法,初始设置

_getDataFromStorage() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();

    List<String> wordsListStrings = prefs.getStringList('_wordsList');
    Map<int, String> wordsMap = wordsListStrings.asMap();

    setState(() {
      wordsMap.forEach((key, word) {
        Map<String, dynamic> decoded = jsonDecode(word);

        _wordsList.add(Word.fromJson(decoded));
      });
    });
  }

,以及其他应用程序打开我的应用程序时发生的情况。

getSharedText() async {
    var sharedData = await platform.invokeMethod("getSharedText");

    if (sharedData != null) {
      _wordsList.add(Word(sharedData));

      SharedPreferences prefs = await SharedPreferences.getInstance();

      List<String> wordsListString = _wordsList.map((word) {
        return jsonEncode(word);
      }).toList();
      prefs.setStringList('_wordsList', wordsListString);

      setState(() {
      });
    }
  }

问题我面对了

有时可以从其他应用程序打开应用程序,不知道如何正确调用它,因为它看起来像我的应用程序覆盖在其他应用程序上。在这种情况下,我打开了2个应用程序,其中一个可能已过时。

enter image description here

现在,我将解决方案视为在android应用程序标签之间切换时重新获取数据,这是我的问题-是否有活动?还是针对这种情况的更好解决方案?

0 个答案:

没有答案