所以我正在制作一个具有固定按钮的启动器,这些按钮启动不同的应用程序。在过去的一周里,我一直试图找出如何选择意图(选择和应用程序启动,然后启动它)。而且我已经把那部分做对了。但我正在寻找的是一种保存这些意图的方法,因为我对其他按钮使用相同的方法,但只要我在弹出窗口中选择“默认使用”,就会将其分配给所有按钮并且所有按钮打开计算器应用程序。我只是希望用户选择他们想要的应用程序作为默认应用程序,然后永远为该按钮启动它。
我一直在搜索这个网站,谷歌和许多其他网站寻求解决方案,但我出去了。 在我的另一个答案中,我被告知使用特定方法,然后使用共享首选项来保存它。但是我没理解。
我想要一个简单的方法,用户可以选择意图,如果他们还没有,那么一旦他们选择它,选择就会被存储,所以如果用户返回并再次点击按钮,它会打开他们选择的应用程序。
基本上是应用选择器/选择器。
我实施了不同的代码。
@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"));
感谢您的时间,希望您能提供帮助,如果您举一个例子,那就太棒了。