:これは私が無駄にしようとしたいくつかの質問を調達しているアンドロイド:いくつかのカメラのAPIに関する質問
http://marakana.com/forums/android/examples/39.html
これまでの回答を見つけてください。
1)私のアプリケーションは縦向きである必要がありますが、私が見たコード例(すべて上記のURLに含まれています)はすべて横向きに依存しているようです。実際、私がこれまでに何を試みても、風景は避けられないようです。私はそうのようなsurfaceCreated(...)
でパラメータを強制的に試してみました:
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
parameters.set("rotation", "90");
camera.setParameters(parameters);
私はsurfaceChanged(...)
で同じことをやって試してみました。もちろん、次のように私もマニフェストに肖像画に私の方向を設定しています:
android:screenOrientation="portrait"
を誰も私が間違っているとどのようにそれを修正するよ何上の任意の提案を持っていますか?
2)私が持っているもう1つの質問は、カメラのリソースを解放することです。上記の論文からのコードでは、以下がsurfaceDestroyed(...)
の方法で呼び出されます。
camera.stopPreview();
camera = null;
ありカメラのリソースを解放するものは何もありませんので、あなたは、このアプリケーション、意志のカメラを使用して、後続のアプリケーションを実行した後にうまくいかない。この問題を解決するために午前の試みで、私はこのように、リソースを解放するための呼び出しを追加しました:
camera.stopPreview();
camera.release();
camera = null;
が問題、しかし、私は、アプリケーションを閉じるとき、私はとの「フォース閉じる」を得ることにある以下のLogCatの例外:
FATAL EXCEPTION: main
java.lang.RuntimeException: Method called after release()
at android.hardware.Camera.setHasPreviewCallback(Native Method)
at android.hardware.Camera.access$600(Camera.java:58)
at android.hardware.Camera.$EventHandler.handleMessage(Camera.java:344)
at android.os.Handler.dispatchMessage(Handler.java.99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lanf.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
私はそこにカメラのリソースをリリースできないのですか?
ありがとうございます。このカメラのことが私をナットにしている。
P.S.私はこれをHTC Evoでテストしています。