-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFlashlight-access-complex.java
69 lines (54 loc) · 2.34 KB
/
Flashlight-access-complex.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
**************************AndroidManifest.xml******************************
<uses-permission-sdk-23 android:name="android.permission.CAMERA"/>
***************************************************************************
***************************MainActivity.java*******************************
On_Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
// Permission is not granted
//request authorization dialog (Asynchronous!!!)
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.CAMERA},
1);
} else {
// Permission has already been granted
flashOn();
}
}
});
@Override
public void onRequestPermissionsResult(int requestCode,
String[] permissions, int[] grantResults) {
switch (requestCode) {
case 1: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, yay! Do the
flashOn();
} else {
// permission denied, boo! Disable the
// functionality that depends on this permission.
}
return;
}
// other 'case' lines to check for other
// permissions this app might request.
}
}
void flashOn(){
camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
}
**************************************************************************
//FLASH_MODE_OFF
//camera.stopPreview();
//camera.release();
very good explanation:
https://developer.android.com/training/permissions/requesting