close

 

=========================================
activity_main.xml
=========================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_vertical"
android:weightSum="1">

<ToggleButton
android:id="@+id/togglebutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize = "44sp"
android:textOn="關閉"
android:textOff="開啟"
android:layout_weight="0.32" />


</LinearLayout>

=========================================
MainActivity.java
=========================================
package ecodesign.flash;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.view.View;
import android.widget.Button;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {
Camera mCamera = null; //設定為全域變數
Parameters parameters; //camera參數
private ToggleButton togglebutton;


@Override
protected void onStop() {
super.onStop();
if (mCamera != null) {
mCamera.release();
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

open();
togglebutton = (ToggleButton) findViewById(R.id.togglebutton);
togglebutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// 當按鈕第一次被點擊時候響應的事件
if (togglebutton.isChecked()) {
close();
}
// 當按鈕再次被點擊時候響應的事件
else {open();
}
}
});


}


//開啟閃光燈
public void open() {
mCamera = Camera.open();
parameters = mCamera.getParameters(); //取得Camera的參數
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(parameters);
}


//關閉閃光燈
public void close() {
parameters.setFlashMode(Parameters.FLASH_MODE_OFF); //取得Camera的參數
mCamera.setParameters(parameters);
mCamera.release(); //使用完記得釋放掉

}
}


=========================================
AndroidManifest.xml(權限開放)
=========================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ecodesign.flash">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="小游手電筒"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
</manifest>

arrow
arrow
    全站熱搜

    stockwfj3 發表在 痞客邦 留言(0) 人氣()