0

Android 应用程序问题:我有 MainActivity,当您按下按钮时,它会通过 Intent 和 startActivity 打开相机(OCR)。问题是当我在安装后第一次按下手机中的按钮时,它被阻止了。然后,在第一次之后,它完美地工作......

顺便说一句,当我尝试在 android 模拟器中执行应用程序时,它只给我一个错误:“打开跟踪文件时出错:没有这样的文件或目录”我不知道这个错误是否与我在移动设备中的问题有关. 这是 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