-1

「ON」用のボタンと「OFF」用のボタンの 2 つのボタンを持つ Android デバイス用のアプリを作成したいと考えています。ネットで例を検索し、多くの例を見てきましたが、(私にとって) 非常に整理されていませんでした。これまでに作成したのはボタンを含むレイアウトで、メイン アクティビティのコードは次のとおりです。

 package com.simple.flashlight;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Camera;
import android.hardware.Camera.Parameters;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class Main extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_menue);

        Button turnOnButtOn = (Button) findViewById (R.id.button1);
        Button turnOnButtOff = (Button) findViewById (R.id.button2);


        turnOnButtOn.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View cameraButton){

            }
        });
    }
}

今、私はこのようなことをしたい(疑似コード):

turnOnButtOn.setOnClickListener(new Button.OnClickListener(){
    public void onClick(View cameraButton){
        turnOnTheFlahLight
    }
});

turnOnButtOn.setOnClickListener(new Button.OnClickListener(){
    public void onClick(View cameraButton){
        turnOffTheFlahLight
    }
});

完全な参照があれば(私はアンドロイドが初めてです)、それはいいでしょう。ありがとう

4

3 に答える 3

3

まず、マニフェストに懐中電灯を使用するためのアクセス許可を追加する必要があります。

 <permission android:name="android.permission.FLASHLIGHT"
             android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
             android:protectionLevel="normal" />

懐中電灯をオンにするには、次のようなものを使用します。

Camera mCam = Camera.open();     
Parameters p = mCam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCam.setParameters(p);
mCam.startPreview();

オフにするには:

mCam.stopPreview();
  mCam.release();
于 2012-11-01T22:23:22.113 に答える
2

デバイスの LED をオンにして懐中電灯のように動作させたい場合 (これは疑似コードが示していることです)、フラッシュはカメラ API 内にあるため、アプリはカメラ アプリであるかのように装う必要があります。したがって、いくつかのことを行う必要があります。1) マニフェストで、アプリケーションがカメラのアクセス許可と機能
を使用することを宣言する必要があります 2) アプリケーション コードで、Camera::open() を使用して Camera オブジェクトのインスタンスを実際に作成する必要があります 3) アプリケーション コードでは、 CameraParams オブジェクトを作成し、フラッシュ モードをオンまたはトーチに設定します (これを見てから数か月が経ちましたが、2 つのうちの 1 つがそれを行います)。CameraParameters を確認する

詳細については、ドキュメントを参照してください。このオブジェクトに適切なパラメータを設定したら、手順 2 で作成した Camera オブジェクトで setParameters を呼び出す必要があります。
4) 次に、startPreview() を呼び出す必要があります。

フラッシュをオフにするには、Camera オブジェクトで stopPreview() を呼び出すだけです。

于 2012-11-01T22:32:22.387 に答える
0

間違ったデバイスを使用している場合、フラッシュライトアプリは初心者にはあまり適していません。一部のメーカーは、アンドロイドがライトを点灯するために提供する通常の方法を使用していないためです。Androidを学ぶために他のことをすることをお勧めします。

于 2012-11-01T22:28:38.883 に答える