从ListActivity的getExtras在Android BroadcastReceiver是NULL



我试图接收一些数据在我的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方法调用,它工作了

相关内容

  • 没有找到相关文章

最新更新