我正在尝试在我的BroadcastReceiver中接收一些由ListActivity调用的数据。 它被称为,我已经测试过,但getExtras总是返回NULL。
这是我的ListActivity的有趣部分:
public boolean onContextItemSelected(MenuItem item) {
Intent distIntent = new Intent();
distIntent.setAction(Intent.ACTION_SEND);
distIntent.putExtra("fileName", new File("Test").getName());
sendBroadcast(distIntent);
}
这是我的BroadcastReceiver的相应部分:
public void onReceive(Context c, Intent intent){
String b = intent.getStringExtra("fileName");
if(b != null)
Log.e(logTag, "File Name: "+b);
}
该文件存在,其名称已正确添加到intent中,但由于某种原因,它不会传播到我的接收器。
任何建议表示赞赏!
答案 0 :(得分:1)
如果new File("Test").getName()
返回非空值,则上述代码应该有效。
是否调用了onReceive
方法?我在清单XML中使用以下<receiver>
块尝试了代码:
<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android.intent.action.SEND" />
</intent-filter>
</receiver>
一些静态字符串而不是getName方法调用,它起作用。