10

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

4

2 に答える 2

8

Webview を使用するときにカメラ機能を使用する最も簡単な方法は、Intent を使用することです。

API を使用する場合、多くの UI を自分で作成する必要があります。これは、アプリケーションで何をする必要があるか、および「写真撮影プロセス」をどの程度制御する必要があるかによって、良いか悪いかになります。写真をスナップしてアプリケーションで使用する簡単な方法が必要な場合は、Intent が適しています。

インテントの例:

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で動作させるためのリンクがあります

于 2011-04-29T19:27:14.090 に答える
2

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

サポートされている機能のリストはこちらで、Camera API のドキュメントはこちらでご覧いただけます

于 2011-04-27T12:21:33.217 に答える