4

我正在尝试使用摩托罗拉 MC40N0 中的 DataWedge 在我的应用程序中获取条形码。我在 DataWedge 中创建了一个配置文件。Intent 动作是 android.intent.action.DEFAULT 并且 Intent 类别是 android.intent.category.MAIN 并且选择的意图交付作为广播意图。清单中的活动是:

 <activity
     android:name="com.myproject.activities.ScanActivity"
     android:screenOrientation="portrait"
     android:theme="@android:style/Theme.NoTitleBar" >
     <intent-filter>
         <action android:name="android.intent.action.DEFAULT" />
         <category android:name="android.intent.category.MAIN" />
     </intent-filter>
 </activity>

以下是我在 ScanActivity 中的代码:

 IntentFilter filter = new IntentFilter("android.intent.action.DEFAULT");
 BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            String data = intent.getStringExtra("com.motorolasolutions.emdk.datawedge.data_string");
            System.out.println("scanned data: "+data);
        } catch (Exception ex) {
            System.out.println("exception in scanning: "+ex);
        }
    }
};
registerReceiver(receiver, filter);

但我什么也没得到。设置或代码有问题。提前致谢。

4

1 回答 1

3

可能与此处描述的数据楔错误相同。

尝试在您的 datawedge 配置文件配置中删除意图类别。

于 2014-12-13T21:55:05.440 回答