1

Я новичок в андроиде, и я не понимаю, как работает Broadcast Receiver. В моем приложении у меня есть намерение расширить широковещательный приемник, а также у меня есть xmlFile с editTextPreference. Как я могу получить текст в XML-файле в намерении трансляционного приемника?Как получить информацию от другого намерения?

Это мой XMLFILE (Рез/XML/prefs.xml):

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 

    <EditTextPreference 
     android:title="EditText" 
     android:key="name" 
     android:summary="Enter your name" 
     /> 
    </PreferenceScreen> 

ответ

2

Вы можете добавить информацию намерения, как это:

Intent i = new Intent(); 
i.putExtra("preferencesText", textYouMeanToSend); 

и в вашем вещательного ресивера вы можете позвонить чтобы получить строку:

getIntent().getStringExtra("preferencesText", somedefaultvalue); 

EDIT

из http://developer.android.com/reference/android/content/BroadcastReceiver.html

А BroadcastReceiver всегда получит callbock на его onReceive(Context context, Intent intent) обратного вызова, так что вам не придется вызывать getIntent(), так как у вас уже есть в тот момент

так, переместите код извлечения в OnReceive и изменить его на:

intent.getStringExtra("preferencesText", somedefaultvalue); 
+0

это says- "метод getintent() не определено для типа SMSReceiver" – Yagel

+0

@Yagel я обновил ответ;) –

Смежные вопросы