質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

2943閲覧

AndroidStudioのIntentでデフォルトカメラ呼び出しフロントカメラ開始指定

chirunote

総合スコア16

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2019/11/13 09:22

kotlinにてインテントで呼び出したデフォルトカメラに最初にフロントカメラを指定するようなことは可能でしょうか?
googleページを参考にインテントでカメラを呼び出し、画像を保存、保存した画像を表示するまではできています。

下記のページ真似て「intent.putExtra("android.intent.extras.CAMERA_FACING", 1)」と最後の2行目にいれたものの
変わりがありません。functionにジンジャーブレッドの表記があったりするため、古い記事の翻訳かもしれません。
今ではできなくなったのでしょうか?そのあたりもお教えいただけましたら。
https://codeday.me/jp/qa/20190410/594170.html

class MainActivity : AppCompatActivity() { val requestCameraNum=1 val requestPermissionNum=200 private var photoUri: Uri? = null//保存画像のパス(今はnull) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } //カメラからの情報が戻って来た際 public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if(requestCode==requestCameraNum && resultCode==RESULT_OK){ val bitmap = data?.getParcelableExtra<Bitmap>("data")//撮影された画像のビットマップデータを取得。 val ivCamera = findViewById<ImageView>(R.id.ivCamera)//画像を表示するImageViewを取得。 ivCamera.setImageBitmap(bitmap)//撮影された画像をImageviewに張り付け ivCamera.setImageURI(photoUri)//画像のパスや名前などを適応 } } //パーミッションダイアログで許可を出したなら override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray){ //super.onRequestPermissionsResult(requestCode, permissions, grantResults) if(requestCode==requestPermissionNum && grantResults[0] == PackageManager.PERMISSION_GRANTED){ val ivCamera = findViewById<ImageView>(R.id.ivCamera)//もう一度カメラアプリ起動 onCameraImageClick(ivCamera) } } //カメラボタンを押したとき(xmlにonClick) fun onCameraImageClick(view: View){//最初に出るストレージ利用許可 if(ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){ val permissions = arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE)//許可を求めるダイアログ表示 ActivityCompat.requestPermissions(this, permissions, requestPermissionNum) return } val dateFormat = SimpleDateFormat("MMddHHmmss") //日時データをファイル名にする val now = Date() val nowStr = dateFormat.format(now) //取得した日時データを「MMddHHmmss」形式に整形した文字列を生成 val fileName = "face_${nowStr}.jpg" val values = ContentValues()//ContentValuesオブジェクトを生成 values.put(MediaStore.Images.Media.TITLE, fileName)//画像ファイル名を設定 values.put(MediaStore.Images.Media.MIME_TYPE,"image/jpeg")//jpg保存 photoUri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values) val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) intent.putExtra(MediaStore.EXTRA_OUTPUT,photoUri) intent.putExtra("android.intent.extras.CAMERA_FACING", 1) startActivityForResult(intent, requestCameraNum) } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2019/11/13 12:31

> 今ではできなくなったのでしょうか?そのあたりもお教えいただけましたら。 こちらの質問回答を見ると、 https://codeday.me/jp/qa/20190110/131385.html > この解決策は持続可能ではなく、Cameraアプリのテストコードを使っています。 ・・・ > 更新: > Lで無効になっていたようです とありますので、Android L(5.x Lollipop)で無効になり、使えなくなったようです。
chirunote

2019/11/13 23:45

となると、フロントカメラ開始は難しいそうですね・・・
dodox86

2019/11/14 00:11

そうですね。正規の方法では無理そうです。(回答しました)
guest

回答1

0

ベストアンサー

functionにジンジャーブレッドの表記があったりするため、古い記事の翻訳かもしれません。
今ではできなくなったのでしょうか?

回答未満と思ったので「質問への追記・修正の依頼」欄にコメントしましたが、その後に検索してみて、Stack Overflowにそのものの質問回答を見つけましたので、参考の為にご案内します。

How to launch front camera with intent? - Stack Overflow

編集や回答の追加を含めて2012年から2018年までやり取りされていますが、やはりAndroidのバージョンに依存していて「ハック扱い」なので、残念ですが正規に解決する方法は無いようです。(反対に言えば、機種とバージョンを限定できるのであれば、いずれかの方法を用いて解決できるケースもある、ととらえることもできます)

投稿2019/11/14 00:10

dodox86

総合スコア9181

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問