我正在使用
发送广播Intent intent = new Intent();
intent.setAction("com.example.android.name");
intent.putExtra("CODE", code);
使用检索额外数据时,在广播侦听器类的onReceive
方法中
String code = intent.getStringExtra("CODE");
我得到空指针异常。 任何帮助如何检索数据。
public class ReceiveNetworkBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String code = extras.getString("CODE");
Log.e("NET_BCAST_RECEIVER: ", code);
}
}
<receiver
android:name=".ReceiveNetworkBroadcast"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.example.android.name" />
</intent-filter>
</receiver>
public void sendBroadcast(Context context, String code){
Intent intent = new Intent();
intent.setAction("com.example.android.name");
intent.putExtra("CODE", code);
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
context.sendBroadcast(intent);
}
答案 0 :(得分:1)
尝试在Intent
中获取bundle
个额外内容,如下所示:
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle extras = intent.getExtras();
if (extras != null) {
if(extras.containsKey("CODE")){
Object value=extras.get("CODE");
System.out.println(value);
}
}
}
希望它现在可以运作。