1

現在開発中の Android アプリに ZXing をインポートしようとしましたが、アクティビティを起動しようとするとクラッシュします。

 public void bcreader(View view)
{
    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
          }
       }
}

左側に ZXing ソースがある MainActivity があること。このチュートリアルに従いましたが、役に立ちませんでした。すべてのファイルがインポートされ、com.google.zxing... がライブラリなどとして設定されていることを確認しました。また、manifest.xml に適切な権限が付与されていることも確認しました。

誰が私が間違っているのか教えてもらえますか?

エラーログ:
10-30 00:26:06.919: D/AndroidRuntime(4194): VM をシャットダウンしています 10-30 00:26:06.919: W/dalvikvm(4194): threadid=1: キャッチされない例外で終了するスレッド (group=0x40a261f8) 10 -30 00:26:06.919: E/AndroidRuntime(4194): 致命的な例外: メイン 10-30 00:26:06.919: E/AndroidRuntime(4194): java.lang.RuntimeException: アクティビティ ComponentInfo{com.google をインスタンス化できません.zxing.client.android/com.google.zxing.client.android.CaptureActivity}: java.lang.ClassNotFoundException: com.google.zxing.client.android.CaptureActivity 10-30 00:26:06.919: E/AndroidRuntime( 4194): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1993) で 10-30 00:26:06.919: E/AndroidRuntime(4194): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104) で 10 -30 00:26:06.919: E/AndroidRuntime(4194): android.app.ActivityThread.access$600(ActivityThread.java:132) 10-30 00:26:06.919: E/AndroidRuntime(4194): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157) 10-30 00:26:06.919 : E/AndroidRuntime(4194): android.os.Handler.dispatchMessage(Handler.java:99) 10-30 00:26:06.919: E/AndroidRuntime(4194): android.os.Looper.loop(Looper. java:137) 10-30 00:26:06.919: E/AndroidRuntime(4194): android.app.ActivityThread.main(ActivityThread.java:4575) 10-30 00:26:06.919: E/AndroidRuntime(4194) : java.lang.reflect.Method.invokeNative(Native Method) 10-30 00:26:06.919: E/AndroidRuntime(4194): java.lang.reflect.Method.invoke(Method.java:511) 10- 30 00:26:06.919: E/AndroidRuntime(4194): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 10-30 00:26:06.919: E/AndroidRuntime(4194) : com.android で。internal.os.ZygoteInit.main(ZygoteInit.java:556) 10-30 00:26:06.919: E/AndroidRuntime(4194): dalvik.system.NativeStart.main(ネイティブ メソッド) 10-30 00:26:06.919 : E/AndroidRuntime(4194): 原因: java.lang.ClassNotFoundException: com.google.zxing.client.android.CaptureActivity 10-30 00:26:06.919: E/AndroidRuntime(4194): dalvik.system.BaseDexClassLoader で.findClass(BaseDexClassLoader.java:61) 10-30 00:26:06.919: E/AndroidRuntime(4194): java.lang.ClassLoader.loadClass(ClassLoader.java:501) 10-30 00:26:06.919: E /AndroidRuntime(4194): java.lang.ClassLoader.loadClass(ClassLoader.java:461) 10-30 00:26:06.919: E/AndroidRuntime(4194): android.app.Instrumentation.newActivity(Instrumentation.java: 1023) 10-30 00:26:06.919: E/AndroidRuntime (4194): android.app.ActivityThread.performLaunchActivity で (ActivityThread.java:1984) 10-30 00:26:06.919: E/AndroidRuntime(4194): ... 11 10-30 00:29:27.799: D/AndroidRuntime(4407): VM 10-30 00:29:27.799 をシャットダウン: W/dalvikvm(4407): threadid=1: キャッチされない例外で終了するスレッド (group=0x40a261f8) 10-30 00:29:27.799: E/AndroidRuntime(4407): 致命的な例外: メイン 10-30 00:29:27.799 : E/AndroidRuntime(4407): java.lang.RuntimeException: アクティビティ ComponentInfo をインスタンス化できません {com.google.zxing.client.android/com.google.zxing.client.android.CaptureActivity}: java.lang.ClassNotFoundException: com .google.zxing.client.android.CaptureActivity 10-30 00:29:27.799: E/AndroidRuntime(4407): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1993) 10-30 00:29:27.799: E/AndroidRuntime(4407): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104) 10-30 00:29:27.799:E/AndroidRuntime(4407): android.app.ActivityThread.access$600(ActivityThread.java:132) 10-30 00:29:27.799: E/AndroidRuntime(4407): android.app.ActivityThread$H.handleMessage( ActivityThread.java:1157) 10-30 00:29:27.799: E/AndroidRuntime(4407): android.os.Handler.dispatchMessage(Handler.java:99) 10-30 00:29:27.799: E/AndroidRuntime( 4407): android.os.Looper.loop(Looper.java:137) 10-30 00:29:27.799: E/AndroidRuntime(4407): android.app.ActivityThread.main(ActivityThread.java:4575) 10 -30 00:29:27.799: E/AndroidRuntime(4407): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 10-30 00:29:27.799: E/AndroidRuntime(4407): java.lang. Reflect.Method.invoke(Method.java:511) 10-30 00:29:27.799: E/AndroidRuntime(4407): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 10-30 00:29:27.799: E/AndroidRuntime(4407): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 10-30 00:29:27.799: E/AndroidRuntime( 4407): dalvik.system.NativeStart.main(ネイティブ メソッド) 10-30 00:29:27.799: E/AndroidRuntime(4407): 原因: java.lang.ClassNotFoundException: com.google.zxing.client.android. CaptureActivity 10-30 00:29:27.799: E/AndroidRuntime(4407): dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) で 10-30 00:29:27.799: E/AndroidRuntime(4407): Java で.lang.ClassLoader.loadClass(ClassLoader.java:501) 10-30 00:29:27.799: E/AndroidRuntime(4407): java.lang.ClassLoader.loadClass(ClassLoader.java:461) 10-30 00:29 で:27.799: E/AndroidRuntime(4407): android.app.Instrumentation.newActivity(Instrumentation.java:1023) 10-30 00:29:27.799: E/AndroidRuntime(4407): Android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1984) 10-30 00:29:27.799: E/AndroidRuntime(4407): ... 11 もっと見る

4

1 に答える 1

1

マニフェストに以下を追加します。

        <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="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>
    <activity
        android:name="com.google.zxing.client.android.encode.EncodeActivity"
        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.ENCODE" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
于 2012-10-31T06:41:39.413 に答える