Galaxy sでデフォルトのカメラアプリを使った場合のバグ

カメラ機能を使おうと思ったのですが、一部バグが出たので、その内容と解決方法をダラっとかかせて頂きます。

 

カメラの内側とかサイズとかの処理が面倒くさかったので、端末のカメラアプリに任せました。カメラアプリの任せ方はちょっと前にやったみたいな。

ACTION_IMAGE_CAPTUREの画像

 の内容に近いのですが、前回とは異なるバグですが、カメラアプリからたまに、画像のデータが取得できない事がありました。正確には、画像のURLが取得できなかったのですが、

で、どうやら、原因としては、作ってるアプリがportrait(縦方向)でカメラアプリがlandscapee(横方向)で、カメラアプリから、戻ってくる時に画面の向きが横向きのまま帰ってくるのだけど、こっちの方で縦方向に設定しているので、縦に方向を転換してくれる。ようなのですが、画面の向きは面倒臭い事がわかるとおもうのですが、oncreateとかが走るんですよ。

画面方向、android とかでググれば出てくるとおもうのですが、これが結構面倒くさいです。

一応、解決方法としては保存が必須な値はstaticとかにしたり、初期化とかをある程度隠しつつ行う。と言う作戦にしたら、なんとかうまく出来ました。

結構はまるポイントなので、お気をつけください!!

前後の記事

前の記事:

次の記事:

関連の記事

コメント

:D たこ焼き

はじめまして、たこ焼きです。
突然ですが質問させていただきます。

ActivityからServiceへ変数を受け渡すことはできるのでしょうか(AIDLを使わず)。
Activity側でボタンを押したら、押したボタンに応じてServiceで異なる処理をすると言った感じです。
できるならやり方を教えていただけると嬉しいです。

よろしくお願いいたします。

:D admin

sharepreferenceなどを通じて渡してしまうのが手っ取り早く確実だと思います。基本的には、直接渡すのは割りとアンドロイド内でリスクの高い可能性があります。(大容量をアクティビティ間などで渡すだけで落ちたりするので)

:D たこ焼き

回答ありがとうございます。
しかし、sharepreferenceではActivityで作ったものがServiceで読み込めないのではないでしょうか。

今回作成するものはActivityで押したボタンに応じて画面をOFFにしても処理を実行するアプリケーションです。
AIDLを使わずに上記のような処理をする方法をお願いします。

:D admin

読み込めるような気がしますが。。どうでしょうか。
一応、SharedPreferences pref = getSharedPreferences(“hello”, Activity.MODE_PRIVATE);
のように任意の「hello」みたいな値が同一であれば、どこでsharedpreferenceを生成しても、取得できるはずです。(同一アプリ内であれば。)

:D たこ焼き

再度やってみたら読み込めました。
ありがとうございました。

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑