Java 如何使用SharedReference保存意图?

Java 如何使用SharedReference保存意图?,java,android,class,android-intent,Java,Android,Class,Android Intent,所以我制作了一个有固定按钮的启动器,这些按钮可以启动不同的应用程序。在过去的一周里,我一直在试图找出如何选择一个意图(选择要启动的应用程序,然后启动它)。我把这部分做对了。但我要寻找的是一种保存这些意图的方法,因为我对其他按钮使用相同的方法,但只要我在弹出窗口中选择“使用默认值”,就会将其分配给所有按钮,所有按钮都会打开计算器应用程序。我只想让用户选择他们想要的默认应用程序,然后永远启动该按钮 我一直在搜索这个网站,谷歌,和许多其他网站的解决方案,但我退出了。 在我的另一个答案中,我被告知使用一

所以我制作了一个有固定按钮的启动器,这些按钮可以启动不同的应用程序。在过去的一周里,我一直在试图找出如何选择一个意图(选择要启动的应用程序,然后启动它)。我把这部分做对了。但我要寻找的是一种保存这些意图的方法,因为我对其他按钮使用相同的方法,但只要我在弹出窗口中选择“使用默认值”,就会将其分配给所有按钮,所有按钮都会打开计算器应用程序。我只想让用户选择他们想要的默认应用程序,然后永远启动该按钮

我一直在搜索这个网站,谷歌,和许多其他网站的解决方案,但我退出了。 在我的另一个答案中,我被告知使用一个特定的方法,然后使用共享首选项保存它。但我不明白

我想要一个简单的方法,用户可以选择意图,如果他们还没有,然后一旦他们选择它,选择会被存储,因此如果用户返回并再次点击按钮,它会打开他们选择的应用程序

基本上是一个应用程序选择器/选择器

我实现了不同的代码

 @Override
 public void onClick(View v) {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
            if (!prefs.getBoolean("FileExplorer", false)) {

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

            SharedPreferences.Editor editor = prefs.edit();
            editor.putBoolean("FileExplorer", true);
            editor.commit();
     }
 }
});

谢谢你的时间,希望你能帮上忙,如果你能举个例子就好了

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