我正在尝试使用摩托罗拉MC40N0中的DataWedge在我的应用程序中获取条形码。我在DataWedge中创建了一个配置文件。Intent action是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>
以下是我在扫描活动中的代码:
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);
但我什么也没得到。设置或代码是否有问题。提前谢谢。
可能与此处描述的相同数据楔形错误。
尝试删除数据楔形配置文件配置中的意图类别。