gpt4 book ai didi

java - 如何保存用户选择的 Intent ?

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:08 25 4
gpt4 key购买 nike

所以我正在构建一个启动器,我需要一种保存 Intent 的方法。我使用以下代码来获取已安装应用程序的列表,用户可以在其中选择要运行的应用程序。

代码-

         final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = getActivity().getPackageManager().queryIntentActivities( mainIntent, 0);
startActivity(Intent.createChooser(mainIntent, "Choose your default app"));

但是我有几个按钮,我使用此方法让用户选择要运行的应用程序。但问题是我希望保存用户所做的这些选择,例如,当我单击时钟按钮时,它可以让我选择要运行的应用程序,然后保存它。但我不知道怎么办。

我也找到了一种方法来做到这一点,我刚刚删除了“Intent.createChooser();”,以便我可以选择“使用默认值”,但是当您将其设置为默认值时,任何其他您按下的按钮(例如日历按钮)会打开时钟按钮。

我对 Intent 做了很多研究,并且已经完成了所有这些工作,但我发现很难做到上面的事情,如果您知道制作应用程序选择器的方法,用户可以在其中选择要选择的应用程序当按下按钮时启动,然后保存该 Intent ,这样用户就不必继续选择。

感谢您抽出时间,希望我已经以良好的方式询问了所有问题。

最佳答案

我建议将用户想要的应用程序的包名称保存为默认值。

为此,您应该分开对 Intent.createChooserstartActivity 的调用,然后在这两个调用之间将包保存在 Intent 中。例如:

Intent intent = Intent.createChooser(...);
String packageName = intent.getPackage();//you might have to play around with the name of the method here.... it is not clear from the docs whether this returns what you want
String action = intent.getAction();//this will return the action that the user wants to preform - this needs to be saved too, so you know when to display the choosing dialog again and when not to
saveChoice(action, packageName);
startActivity(...)

关于java - 如何保存用户选择的 Intent ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23883518/

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