相机意图后显示黑屏

时间:2013-08-12 15:15:21

标签: java android google-glass

我修改了StopWatch演示Glass应用程序,以便在点击侧面时通过请求启动Camera活动。意图代码是从Google的文档中复制的。

当我点按时,我的应用程序的onPause回调被触发,但屏幕转换为黑色而不是相机预览。再次点击什么也没做 - onResume没有被调用。向下滑动确实会将我转换回StopWatch活动。

这看起来像是玻璃上的相机意图的错误,还是我的结果?

秒表活动

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; // 1337 also doesn't work

public boolean onKeyDown(int keyCode, KeyEvent event) {
  switch (keyCode) {
  case KeyEvent.KEYCODE_DPAD_CENTER:
  case KeyEvent.KEYCODE_ENTER:
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // file:///mnt/sdcard/Pictures/MyCameraApp/IMG_20130812_105617.jpg

    // start the image capture Intent
    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
    return true;
  default:
    return super.onKeyDown(keyCode, event);
  }
}

AndroidManifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.google.glass.samples.stopwatch"
  android:versionCode="1"
  android:versionName="1.0" >

  <uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="15" />

  <uses-feature android:name="android.hardware.camera" />

  <application
    android:allowBackup="true"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

    <activity
        android:name="com.google.glass.samples.stopwatch.StopWatchActivity"
        android:label="StopWatch" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>

  </application>

</manifest>

logcat的

470      862-862/com.google.glass.samples.stopwatch D/GOOGLE1: Touched side
470      862-862/com.google.glass.samples.stopwatch D/GOOGLE1: Pause
533      862-862/com.google.glass.samples.stopwatch D/OpenGLRenderer: Flushing caches (mode 1)
611      190-216/? I/ActivityManager: Displayed com.google.glass.camera/.CameraApiActivity: +142ms
619      862-862/com.google.glass.samples.stopwatch D/OpenGLRenderer: Flushing caches (mode 0)
142      190-213/? I/power: *** set_screen_state 0

1 个答案:

答案 0 :(得分:6)

看起来你的代码是正确的。请在我们的issues tracker上提交错误报告。

作为替代方案,您可能需要尝试直接使用Camera课程来捕捉照片。