Я начинаю изучать разработку Android, так что мои знания на данный момент действительно ограничены.
Я пытаюсь играть с трансляциями, но я застрял и не могу понять, что я делаю неправильно.
То, что я пытаюсь сделать, это просто показать простой тост с приемника вещания.
Намерение - это пользовательское намерение, определенное в манифесте:
<receiver android:name=".receiver.SendReceiver" android:enabled="true">
<intent-filter>
<action android:name="com.android.terralink.sem.SOCCIA"></action>
</intent-filter>
</receiver>
Приемник определяется так:
public class SearchReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent){
Toast.makeText(context, "asasa", Toast.LENGTH_SHORT).show();
}
}
В первом действии, вызванном из приложения, я делаю это:
Intent i2 = new Intent(this, SearchReceiver.class);
i2.setAction(CUSTOM_INTENT);
sendBroadcast(i2);
Я проверил, что код Toast работает в Activity, но не в трансляции.
Это потому, что Тост не может быть показан в контексте получателя?
Кроме того, еще один вопрос, касающийся структуры приложений для Android.
Если из моей Activty я разрешаю пользователю вставлять строку в текстовое поле и отправлять (связывание кнопок), и я хочу, чтобы приложение выполняло поиск в фоновом режиме и уведомляло пользователя, как только результат будет готов, правильно ли делать следующее?
1) Основная активность с окном поиска
2) Запустите Сервис, который извлекает данные, отправляет трансляцию
3) Получатель уведомляет пользователя и открывает действие, которое показывает результат
Имеет ли смысл делать что-то подобное?
Или уведомление должно быть сделано самой службой, прежде чем закончить свою работу?
Спасибо