当我们在监听广播时,往往不清楚广播中参数名称,那么这时候怎么办呢?
我们可以采用intent.getExtras();方法,通过遍历打印出来,再根据实际需要的key进行获取。
public class BarcodeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context ctx, Intent intent) {
if (intent == null) {
return;
}
if (intent.getExtras() == null) {
return;
}
Bundle extras = intent.getExtras();
Set<String> strings = extras.keySet();
for (String keyStr:strings) {
if(extras.get(keyStr) instanceof Integer){
Log.v("wjb","intent extras(int) :"+ keyStr + ":" + extras.get(keyStr));
}else if(extras.get(keyStr) instanceof String){
Log.v("wjb","intent extras(String) :" + keyStr + ":" + extras.get(keyStr));
}else{
Log.v("wjb","intent extras() :" + keyStr + ":" + extras.get(keyStr));
}
}
}