我想将QRCode添加到我的安卓应用程序中。
我正在使用AndroidStudio8.1。
我从maven存储库( core.jar )下载zxing core.jar文件
我在清单xml文件中添加了以下行:
<uses-permission android:name="android.permission.CAMERA" />
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape" >
</activity>
然后,我将jar文件添加到"lib“文件夹中,并在gradle构建文件中添加为Library:
编译文件(‘libs/core-3.1.0.jar’)
我创建了以下活动:
public class QrCodeReader extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_qrcode);
HandleClick hc = new HandleClick();
findViewById(R.id.butQR).setOnClickListener(hc);
findViewById(R.id.butProd).setOnClickListener(hc);
findViewById(R.id.butOther).setOnClickListener(hc);
}
private class HandleClick implements View.OnClickListener {
public void onClick(View arg0) {
Intent intent = new Intent(getApplicationContext(),CaptureActivity.class);
intent.setAction("com.google.zxing.client.android.SCAN");
intent.putExtra("SAVE_HISTORY", false);
startActivityForResult(intent, 0);
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
TextView tvStatus=(TextView)findViewById(R.id.tvStatus);
TextView tvResult=(TextView)findViewById(R.id.tvResult);
if (resultCode == RESULT_OK) {
tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));
tvResult.setText(intent.getStringExtra("SCAN_RESULT"));
} else if (resultCode == RESULT_CANCELED) {
tvStatus.setText("Press a button to start a scan.");
tvResult.setText("Scan cancelled.");
}
}
}
}
现在我得到了“无法解决符号CaptureActivity”错误,我如何解决这个问题?
问候
编辑:
我添加了以下文件并修复了此错误
编译文件(‘libs/android-core-3.1.0.jar’)编译文件(‘libs/android-integration-3.1.0.jar’)
但是我得到了以下错误:
"com.google.zxing.client.android.CaptureActivity“:没有找到类java.lang.ClassNotFoundException,我该怎么解决这个问题?
发布于 2014-09-24 19:03:04
您不打算在应用程序中使用CaptureActivity
。因为这个原因,它不在core
中,这就是你的应用程序找不到它的原因。
您的代码令人困惑,因为您似乎希望通过Intent
进行集成,但是,您不需要在android
甚至core
中使用任何代码。相反,您应该遵循https://github.com/zxing/zxing/wiki/Scanning-Via-Intent的指示
发布于 2014-09-24 09:23:46
在捕获活动中添加意图过滤器。
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
发布于 2014-09-24 09:25:16
一次引用此链接http://wahidgazzah.olympe.in/integrating-zxing-in-your-android-app-as-standalone-scanner/
将此添加到AndroidManifest.xml中
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
https://stackoverflow.com/questions/26013034
复制相似问题