gpt4 book ai didi

android - 坚持 Android 启动 Intent ?

转载 作者:太空狗 更新时间:2023-10-29 12:53:13 24 4
gpt4 key购买 nike

我正在创建一个自定义首选项,以记住用户想要从可能列表中运行的 Activity 。 (有效地实现了选择器的“当你看到这种 Intent 时总是启动这个 Activity ”,但特别记住我的特定应用程序的结果,而不是系统范围的结果。)

我得到了这样一个可能的 Activity 列表:

    Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_SEND);
myIntent.setType("text/plain");
myIntent.putExtra(Intent.EXTRA_TEXT, "Probe text");

PackageManager manager = getContext().getPackageManager();
List<ResolveInfo> infoList = manager.queryIntentActivities(myIntent,PackageManager.MATCH_DEFAULT_ONLY);

...导致列表 ResolveInfo

我的问题是,一旦我的用户选择了其中之一,将其保留为偏好的最佳方式是什么?也就是说,我要在我的 SharedPreferences 中写入什么(如果可能,在单个项目中),以及在下次运行我的应用程序时,我如何读取它并触发相应的 Intent?

最佳答案

那么,您可以在 Intent 上调用 toUri() 将其转换为 Uri,然后您可以将其转换为String 通过标准的 toString()。要反转该过程,请使用 Intent.parseUri()String 解析为 Intent

但是,您需要添加足够的保护来应对各种可能性,例如:

  • 用户删除了应用
  • 用户升级了应用,应用不再支持你保存的Intent

此外,请小心放置探针(文本)的位置。 :-)

关于android - 坚持 Android 启动 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9784804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com