我正在創建一個二維碼讀取器應用程序,我從zXing資源中獲得幫助,並在我的手機上運行我的應用程序後顯示「找到URL」,並且不會將我重定向到特定二維碼的鏈接。這讓我回到我的主要活動。 我的項目名稱是「掃描」,我添加了core.jar文件。我也有一個頁面佈局即與main.xml中一個名爲「掃描QR碼」按鈕,活動名稱爲「ScanActvity.java」我的項目的整個編碼是:二維碼讀取器不重定向到特定鏈接
ScanActivity.java
package com.scan.qr;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class ScanActivity extends Activity {
/** Called when the activity is first created. */
Button btnScan;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnScan = (Button) findViewById(R.id.button1);
btnScan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
}
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/button1"
android:layout_width="150dp"
android:layout_height="60dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Scan qr code" />
</RelativeLayout>
</LinearLayout>
ActivityMainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.scan.qr"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.CAMERA"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".ScanActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<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.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
</manifest>
我還添加了一個文件夾「zcore」包含core.jar添加文件在我的項目命名爲「掃描」,在屬性增加了它,即「JavaBuildPath」下添加jar文件名爲「core.jar添加」位於我的項目的「zcore」文件夾。
現在我試圖在模擬器中運行這個它給了我這樣的錯誤消息:
AndroidRuntime(401): at
com.google.zxing.client.android.camera.CameraManager.getFramingRectInPreview
(CameraManager.java:218)
AndroidRuntime(401): at
com.google.zxing.client.android.ViewfinderView.onDraw(ViewfinderView.java:117)
AndroidRuntime(401): at
com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830)
dalvikvm(401): Unable to open stack trace file '/data/anr/traces.txt': Permission
denied
,然後我想我的三星GalaxyŸ手機上運行apk文件,它運行良好,當我點擊按鈕「掃描二維碼」它會打開相機,當我將二維碼的圖像放在相機前面時,它會檢測到二維碼並讀取並顯示「已找到URL」,然後主頁再次打開,並且不會重定向我到具體的網址。我怎樣才能確定它將如何重定向我並向我展示qt代碼的信息?爲什麼它不會將我重定向到URL,並且爲什麼在掃描qr代碼後再次打開主頁面?
請幫我解決這個問題!他們是否有任何問題我做過,或者在製作qr代碼閱讀器時有什麼要做,還請告訴我如何在qr代碼閱讀器中添加過濾器。
好的我知道我沒有啓動URL的代碼,但是如何每次輸入網址上的每個Qr代碼的URL時,都應該能夠顯示我知道qr代碼的信息,或者如果它的網址應該將網址重定向到該網站,那麼這個想法適用於我們手動輸入代碼的特定URL,它們可以自動獲取信息並以此方式執行其功能。 – user1161410 2012-02-21 16:48:32