1

GDK を使用して Glass 用のアプリを開発していますが、カメラ インテントの開始に問題があります

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, RESULT_FROM_CAMERA);

エラーは次のとおりです。

11-24 19:21:30.925: E/StrictMode(591): class com.google.glass.camera.ApiTakePictureActivity; instances=2; limit=1
11-24 19:21:30.925: E/StrictMode(591): android.os.StrictMode$InstanceCountViolation: class com.google.glass.camera.ApiTakePictureActivity; instances=2; limit=1
11-24 19:21:30.925: E/StrictMode(591):  at android.os.StrictMode.setClassInstanceLimit(StrictMode.java:1)

なにか提案を?

4

3 に答える 3

0

最後に、これを解決しました。例外は引き続き表示されますが、完全に機能します。追加の「出力」を使用しても機能しません。これは、カメラの意図によって使用されないためです。OnActivityResult は呼び出されていないため機能しません...私が行ったことは、onActivityResult を無視し、Camera フォルダーを指す FileObserver を使用して、新しいファイルが作成されたときにイベントを待機することです。

final File photoFolder=new File(Environment.getExternalStorageDirectory() + File.separator + "DCIM/Camera");
fileObserver = new FileObserver(photoFolder.getAbsolutePath(), FileObserver.CREATE) 
        {
            @Override
            public void onEvent(int event, final String path) 
            {
                if(event == FileObserver.CREATE)
                {
                    fileObserver.stopWatching();
                    // Do whatever
                }
            }
        };
        fileObserver.startWatching();
于 2013-12-16T12:43:19.007 に答える
0

インテントを作成するときは、android.provider.MediaStore の定数を使用する必要があると思います。

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, RESULT_FROM_CAMERA);
于 2013-11-25T23:29:04.933 に答える
-1

複数のインスタンスが開いているようです

instances=2; limit=1
于 2013-11-25T13:42:37.530 に答える