質問

WebViewでAndroidカメラを開くことはできますか?

役に立ちましたか?

解決

WebViewを使用するときにカメラ機能を持つ最も簡単な方法は、意図の使用です。

APIを使用する場合、自分で多くのUIを構築する必要があります。これは、アプリケーションで何をする必要があるか、および「写真を撮るプロセス」に必要なコントロールの量に応じて、良いことも悪いこともあります。写真をスナップしてアプリケーションでそれを使用する簡単な方法が必要な場合は、目的が進む方法です。

意図例:

private Uri picUri;
private void picture()
{
     Intent cameraIntent = new Intent("android.media.action.IMAGE_CAPTURE");
     File photo = new File(Environment.getExternalStorageDirectory(), "pic.jpg");
     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
     picUri = Uri.fromFile(photo);
     startActivityForResult(cameraIntent, TAKE_PICTURE);
}

public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    switch(requestCode){
        case TAKE_PICTURE:
            if(resultCode == Activity.RESULT_OK){
                Uri mypic = picUri;
                //Do something with the image.
            }
}

この例の一部を別の答えから借りて、これを元々これを構築しました。しかし、私はもうURLを持っていません。

私が今書いているアプリでは、この画像をbase64に変換し、それをjavaScriptに渡し、それをサーバーに投稿します。しかし、それはおそらくあなたが知る必要がある以上のものです。 :)

ここ WebViewで動作させるためのリンクです

他のヒント

私が知る限り、これはAndroid APIに直接組み込まれていません。ただし、使用できます 電話ガップ, 、JavaScriptフックをネイティブデバイス機能(つまり、カメラ)に提供します。

サポートされている機能のリストを表示できます ここ, 、およびカメラAPIドキュメントをお読みください ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top