我试图接收一些数据在我的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);
}
文件存在,它的名字被正确地添加到意图中,但由于某种原因,它没有传播到我的接收者。
任何建议感谢!
如果new File("Test").getName()
返回一个非空值,上面的代码应该工作。
是否调用onReceive
方法?我在清单XML中尝试了以下<receiver>
块的代码:
<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android.intent.action.SEND" />
</intent-filter>
</receiver>
和一些静态字符串代替getName方法调用,它工作了