0

当我的应用程序扫描条形码时,我想执行一些操作。为此,每当我的设备扫描仪扫描条形码时,我都需要知道。条形码包含我想在我的应用程序中使用的字符串。我进行了很多搜索并尝试使用以下代码解决问题,但我不确定我是否走在正确的轨道上,因为它不起作用:

在我的 onCreate 方法中,我正在注册一个广播接收器:

 IntentFilter filter = new IntentFilter();
 filter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
 filter.addDataScheme("file");

 receiver = new BroadcastReceiver() {
 @Override
 public void onReceive(Context context, Intent intent) {
      String action = intent.getAction();
      System.out.println("intent action:"+action);
      System.out.println("intent recieved");
     }
 };

 getActivity().registerReceiver(receiver, filter);

但我从来没有收到任何东西。任何想法为什么或任何其他解决方案来解决这个问题。提前致谢。

4

1 回答 1

1

来自文档:

Intent.ACTION_MEDIA_SCANNER_FINISHED

广播操作:媒体扫描器已完成目录扫描。扫描目录的路径包含在 Intent.mData 字段中。

与条形码扫描无关。您必须查看用于扫描条形码的库/方法。

如果您使用的是 XIng 库,我确定您必须调用一个 activityForResult 然后您就可以捕获onActivityResult

于 2013-10-31T10:34:27.477 回答