Что такое ’ s Разница между намерением, используемым для startActivity()
, и целью, используемой для метода sendBroadcast()
? В учебнике я нашел способ для динамической регистрации широковещательного приемника. Для этой цели я должен был указать строку в качестве моего имени намерения. Как выбрать имя намерения в этом случае и использовать для sendBroadcast()
или registerReceiver()
?В чем разница между намерениями Android?
Следует ли добавить что-то в свой файл android_manifest.xml
? в соответствии с учебным пособием, я в настоящее время объявил это намерение следующим образом:
private static final String SEARCH_ACTION = "com.example.usingwebservices.rest.SEARCH";
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
unregisterReceiver(receiver);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
registerReceiver(receiver, new IntentFilter(SEARCH_ACTION));
}
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(progress!=null){
progress.dismiss();
}
String response = intent.getStringExtra(RestTask.HTTP_RESPONSE);
result.setText(response);
}
};
так достаточно ли использовать одно и то же действие для sendBroadcast() и registerReceiver(), чтобы получить процесс получения трансляции? или я должен зарегистрировать это имя-действие в другом месте для разрешения или в любых других целях. –
да, вы можете. Умывка имеет два метода: setAction & setClass. Но я думаю, что, может быть, пакет двух типов параметр в одно намерение не является хорошей идеей, за исключением того, что они на самом деле то же самое. – BollMose