-2

我一直在关注一个事件(使用 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) {

据我了解,我应该能够摆脱这两个“额外”的意图?

我怎样才能做到这一点?

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

4

3 回答 3

1

你可以这样做:

public void onReceive(Context context, Intent intent) {

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

   .......
}

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

于 2013-09-27T17:50:56.813 回答
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');
于 2013-09-27T17:53:13.330 回答
1
public void onReceive(Context context, Intent intent) {
     int i = intent.getExtras().getInt("keyName");
     String s = intent.getExtras().getString("keyName");

...
于 2013-09-27T17:53:23.420 回答