0

Android アプリの問題:ボタンを押すと、Intent と startActivity を介してカメラ (OCR) を開く MainActivity があります。問題は、インストール後に初めてモバイルのボタンを押すと、ブロックされることです。その後、初めて、それは完璧に機能します...

ちなみに、Androidエミュレーターでアプリを実行しようとすると、エラーが1つだけ表示されます:「トレースファイルを開くエラー:そのようなファイルまたはディレクトリはありません」このエラーがモバイルの問題に関連しているかどうかはわかりません. MainActivity の意図は次のとおりです。

    Button2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                Intent i = new Intent(getApplicationContext(), CaptureActivity.class);
                startActivityForResult(i, REQUEST_CODE);
            } catch (Exception e) {
            }

        }
    });
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
        if (data.hasExtra("ocrResult")) {
            EditText.setText(data.getExtras().getString("ocrResult"));

        } else if (resultCode == RESULT_CANCELED) {
        }
    }
}    

ここに、結果を MainActivity に送信する OCR のコードがあります。

public void onClick(View v) {
    finish();
}

public void finish() {
    Intent data = new Intent();
    data.putExtra("ocrResult", ocrResultView.getText());
    setResult(RESULT_OK, data);
    super.finish();
}

最後に、マニフェスト

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="edu.sfsu.cs.orange.ocr"
          android:installLocation="auto" 
          android:versionName="0.5.13" 
          android:versionCode="32"
          >
  <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="13"/>

  <supports-screens android:xlargeScreens="true"
                    android:largeScreens="true"
                    android:normalScreens="true"
                    android:smallScreens="true" />
  <uses-feature android:name="android.hardware.camera.autofocus" />
  <uses-feature android:name="android.hardware.camera.flash" android:required="false" />
  <uses-feature android:name="android.hardware.camera"/>
  <uses-feature android:name="android.hardware.screen.landscape"/>

  <application android:icon="@drawable/ic_launcher"
               android:label="@string/app_name">

     <activity
            android:name=".MainActivity"
            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=".CaptureActivity"
              android:screenOrientation="landscape"
              android:configChanges="orientation|keyboardHidden|screenSize"
              android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
              android:windowSoftInputMode="stateAlwaysHidden"              
              >

    </activity> 

    <activity android:name="edu.sfsu.cs.orange.ocr.PreferencesActivity"> </activity>

  </application>
  <uses-permission android:name="android.permission.CAMERA"/>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>

どうもありがとうございました!!

4

0 に答える 0