мой телефон установил два голосовых поиска: приложение google и приложение S-voice. Приложением по умолчанию является приложение S-voice, как показано на рисунке ниже. Мой вопрос заключается в том, как мы можем получить голосовое приложение по умолчанию с помощью программирования в Android 6.0. заранее спасибо
Это то, что я сделал
private boolean isMyAppLauncherDefault(String myPackageName) {
final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_HOME);
List<IntentFilter> filters = new ArrayList<IntentFilter>();
filters.add(filter);
List<ComponentName> activities = new ArrayList<ComponentName>();
final PackageManager packageManager = (PackageManager) getPackageManager();
packageManager.getPreferredActivities(filters, activities, null);
for (ComponentName activity : activities) {
Log.d(TAG,"======packet default:==="+activity.getPackageName());
}
for (ComponentName activity : activities) {
if (myPackageName.equals(activity.getPackageName())) {
return true;
}
}
return false;
}
Вышеупомянутая функция всегда возвращает true, когда мой ввод com.samsung.voiceserviceplatform
. В других случаях приложение по умолчанию всегда возвращает com.google.android.googlequicksearchbox
(указывает на Google Voice).