使用Zxing获取android.content.ActivityNotFoundException
我遵循了以下教程: 但是,即使在编辑了android清单xml之后,我仍然会遇到以下错误:使用Zxing获取android.content.ActivityNotFoundException,android,android-activity,barcode,zxing,Android,Android Activity,Barcode,Zxing,我遵循了以下教程: 但是,即使在编辑了android清单xml之后,我仍然会遇到以下错误: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.google.zxing.client.android.SCAN pkg=com.google.zxing.client.android (has extras) } 我的代码: public class BarCodeS
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.google.zxing.client.android.SCAN pkg=com.google.zxing.client.android (has extras) }
我的代码:
public class BarCodeScannerActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button ok;
ok=(Button) findViewById(R.id.b1);
ok.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("Helllllllloooooooo");
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE","QR_CODE_MODE");
startActivityForResult(intent, 0);
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
System.out.println("onActivityResult________resultCode________ "+resultCode);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
System.out.println("contentsssssssssssssssssssssss" + contents);
Toast.makeText(getApplicationContext(),"Congratulations!!!... Product Code"+ contents + "On Scanning This Item..." ,Toast.LENGTH_LONG).show();
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
System.out.println("Formaattttttttttttttt " + format);
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
}
和mainfest文件:
嗨
现在,当我更新清单时,我遇到了一个奇怪的附加屏幕截图问题,如下所示:
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
![enter image description here][1]
<activity android:name=".ScanItemActivity"
android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>
![在此处输入图像描述][1]
我的意思是它说“对不起,安卓摄像头遇到了问题。你可能需要
重新启动设备。“
logcat中没有任何内容。这相当混乱。如果您是有意集成的,则根本不需要更改清单,因此删除仅为集成而更改的任何内容 应用程序未安装,并且您没有正确处理此问题。您必须捕获
活动NotFoundException
,或者提前确定要处理意图的应用程序已安装
但是,没有必要这么复杂。请参阅。您可以使用IntentIntegrator
,它可以在几行代码中为您正确地完成所有这些操作。尝试在barcodescanneActivity
中插入
块。很抱歉,我没有理解您。我已经正确地添加了这些内容?还可以尝试以下操作:在
标记中从com.google.zxing.client.android.CaptureActivity
中删除com.google.zxing.android
。是的,但不是在条码扫描活动中。您已经在第二个活动中添加了它,即com.google.zxing.client.android.CaptureActivity
您创建了其他活动吗r activity?com.google.zxing.client.android.CaptureActivity
?不。我不想使用已安装的应用程序。如果你查看我提到的博客,你会得到它。是的,我写了博客所基于的代码:我得到了。你在这里混合了两个不相关的东西。如果你试图嵌入解码器,你不会使用Intents。但是如果你是新手这一点,我强烈建议您使用intent,因为我认为构建您自己的scanner应用程序(即,不复制和粘贴我们的代码)需要相当的复杂度。
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
![enter image description here][1]
<activity android:name=".ScanItemActivity"
android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
</activity>