如何从意图中读取“额外”?

时间:2013-09-27 17:46:48

标签: android android-intent

我一直在接触一个事件(使用BroacastReceiver)和文档(http://developer.android.com/reference/android/net/ConnectivityManager.html)我应该得到一个特定的对象'作为额外的':

The NetworkInfo for the affected network is sent as an extra

the NetworkInfo for the new network is also passed as an extra.

我的问题是:在我的广播接收器中,我发生了这样的事件:

public void onReceive(Context context, Intent intent) {

据我所知,我应该能够从意图中获得这两个“额外”吗?

我该怎么做?

我尝试在鼠标悬停时以调试模式检查Eclipse中的intent对象(我在Eclipse中很新,所以我不知道在运行时检查变量的任何其他方法)但是没有给出我很多信息....

3 个答案:

答案 0 :(得分:1)

你可以这样做:

public void onReceive(Context context, Intent intent) {

    int id = intent.getExtra.getInt("id");
    String name = intent.getExtra.getString("name");

   .......
}

您可以从意图获取任何额外的数据类型。有关可以使用intent检索的数据类型列表,请访问INTENT

答案 1 :(得分:1)

这取决于您要从意图中检索的数据类型。例如,如果您使用的是intboolean

Bundle extras = intent.getExtras();
int exampleInt = extras.getInt('Name of the extra corresponding to that variable');
boolean exampleBoolean = extras.getBoolean('Name of this other extra');

答案 2 :(得分:1)

public void onReceive(Context context, Intent intent) {
     int i = intent.getExtras().getInt("keyName");
     String s = intent.getExtras().getString("keyName");

...