我一直在接触一个事件(使用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中很新,所以我不知道在运行时检查变量的任何其他方法)但是没有给出我很多信息....
答案 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)
这取决于您要从意图中检索的数据类型。例如,如果您使用的是int
或boolean
:
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");
...