Intereting Posts
Viewpager во фрагменте, который не обновляется при навигации по фрагменту Определить код версии Android N ActionBar с вкладками навигации изменяет высоту с ориентацией экрана Недействительный хэш ключа, хэш ключа не соответствует какому-либо сохраненному ключу ключа Android удалять специфический контакт программно Измените имя пакета для Android в React Native Как сохранить данные приложения Android в синхронизации на нескольких устройствах? Как использовать Band Pass фильтр (18Khz до 22Khz) в Android Как изменить фон графика с помощью библиотеки MPAndroidChart? SelectableItemBackground как элемент в списке слоев Не показывать в представлении проекта Android GetFragmentManager.findFragmentByTag () возвращает null Android в тестировании подписки на приложения Как проверить, зарегистрирован ли пользователь в FB SDK 4.0 для Android? Как запретить IntelliJ копировать ресурсы в выходной каталог проекта компилятора?

Как получить результаты от намерения, запущенного с экрана предпочтений?

Мне нужна помощь в получении результатов от намерения, запущенного с экрана предпочтений

// Intent preference DevicePref = getPreferenceManager().createPreferenceScreen(this); // Show a Screen with list of Devices Discovered Intent i = new Intent(this,getDevice.class); DevicePref.setIntent(i); DevicePref.setTitle("Select Device"); DevicePref.setSummary(mSelectedDevice); deviceOptionsCat.addPreference(DevicePref); 

Я хочу, чтобы пользователь выбирал устройство … При нажатии screeen я показываю «Выбрать устройство» .. когда пользователь нажимает на это, другой экран запускается с намерением, где перечислены все устройства. Пользователь выбирает устройство.

Теперь, как узнать, как пользователь выбрал какое устройство? И я хочу обновить это в сводке.

Pls. Дайте мне знать Спасибо

Solutions Collecting From Web of "Как получить результаты от намерения, запущенного с экрана предпочтений?"

Я получил ответ, надеюсь, это поможет кому-то вроде меня …

Не упоминайте намерения, создавая предпочтения, как я сделал в приведенном выше коде. Упоминайте намерение OnPreferenceClickListener, а затем сделайте StartActivityForResult ()

  // Intent preference DevicePref = getPreferenceManager().createPreferenceScreen(this); // Show a Screen with list of Devices Discovered DevicePref.setOnPreferenceClickListener(onPreferenceClick); DevicePref.setTitle("Select Device"); DevicePref.setSummary(mSelectedDevice); deviceOptionsCat.addPreference(DevicePref); 

Затем создайте OnPreferenceClickListner, и вот здесь StartActivityFromResult ()

 OnPreferenceClickListener onPreferenceClick = new Preference.OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { if (preference ==DevicePref ) { Intent i = new Intent(DevuiceOptions.this,getDevice.class); DevicePref.setIntent(i); startActivityForResult(i,CHOOSE_DEVICE); } return true; } }; 

Наконец, чтобы получить дескриптор результата onActivityResult и обновить поле Summary.

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case Constants.CHOOSE_DEVICE: { if (data!=null ) { Bundle b = data.getExtras(); mSelectedDevice = (String) b.get("Name"); UpdatePreferences(); } } } } 

благодаря