如何从其他意图中获取信息?

时间:2014-09-21 15:06:28

标签: android xml android-intent sharedpreferences android-preferences

我是Android新手,我不了解广播接收器的工作原理。在我的应用程序中,我有意图扩展广播接收器,我也有xmlFile与editTextPreference。如何将xml文件中的文本转换为广播接收器意图?

这是我的xmlFile(res / 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>

1 个答案:

答案 0 :(得分:2)

您可以向这样的意图添加信息:

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

在您的广播接收器中,您可以调用以获取字符串:

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

修改

来自http://developer.android.com/reference/android/content/BroadcastReceiver.html

Broadcastreceiver将始终在其onReceive(Context context, Intent intent)回调中收到一个回调函数,因此您无需致电getIntent(),因为此时您已经拥有它;

所以,将检索代码移到onReceive并将其更改为:

intent.getStringExtra("preferencesText", somedefaultvalue);