Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/117: Рейтинг темы: голосов - 117, средняя оценка - 4.88
Infinity3000
1060 / 579 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
#1

Включить программно LED (фонарик)

02.01.2013, 17:42. Просмотров 21236. Ответов 13
Метки нет (Все метки)

Здравствуйте!

Подскажите каким образом возможно включить программно фонарик.

Есть код

Java
1
2
3
4
5
Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
На форумах пишут что рабочий! Но проблема в том что Eclipse ругается

Java
1
Camera cam = Camera.open();
пишет у Camera нет метода open(), ну и еще на пару ошибок (см. вложение);

Использую API 7+

В чем может быть проблема? ну или Ваш вариант включение фонарика)
Спасибо
0
Миниатюры
Включить программно LED (фонарик)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2013, 17:42
Ответы с готовыми решениями:

Программно включить экран не отключая блокировку
Добрый вечер! Появилась нужда во включении экрана (включении подсветки) не...

Программно включить запись телефонного звонка
Есть ли способ программно включить стандартную записи разговора ? Иле есть...

Как программно включить установку приложений из неизвестных источников
Имеется приложение в гугл плэе, думаю реализовать в нем механизм...

Фонарик выдает ошибку
Всем привет! Делаю фонарик: package com.goodapps.flashlight; import...

Как программно удалить кнопку которую программно создал но только если она уже существует
Есть ScrollView в котором много компонентов,чтоб не выводить сразу все решил...

13
Infinity3000
1060 / 579 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
02.01.2013, 18:19  [ТС] #2
Все разобрался!

Нужно было добавить в импорт

Java
1
import android.hardware.Camera;
У меня жу было

Java
1
import android.graphics.Camera
А два эти импорта не хотели вместе уживаться)) Сорри кого отвлек)
0
matvey.sofyin
2 / 2 / 0
Регистрация: 29.07.2012
Сообщений: 6
11.09.2013, 00:37 #3
Подскажите, пожалуйста, при запуске приложения на телефоне HTC Desire S после нажатия на кнопку "ОК" вылаезает ошибка "Приложение ... неожиданно остановилось. Повторите попытку".

Ошибка вылезает при исполнении строчки
Java
1
Camera cam = Camera.Open();
проверил отладочной печатью.
В чем может быть проблема? Как решать? Хочу сделать фонарик, который не будет гаснуть при выключении экрана.

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
package ru.axtrace.myapplication211;
 
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
 
 
public class MainActivity extends Activity {
 
 
    TextView tvOut;
    Button btnOk;
    Button btnCancel;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // найдем View-элементы
        tvOut = (TextView) findViewById(R.id.tvOut);
        btnOk = (Button) findViewById(R.id.btnOk);
        btnCancel = (Button) findViewById(R.id.btnCancel);
 
 
        View.OnClickListener oclBtnOk = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Camera cam = Camera.Open();
                Camera.Parameters p = cam.getParameters();
                p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                cam.setParameters(p);
                cam.startPreview();
                tvOut.setText("5");
            }
        };
 
        // присвоим обработчик кнопке OK (btnOk)
        btnOk.setOnClickListener(oclBtnOk);
 
 
        View.OnClickListener oclBtnCancel = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Camera cam = Camera.open();
                Camera.Parameters p = cam.getParameters();
                p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                cam.setParameters(p);
                cam.startPreview();
            }
        };
 
        btnCancel.setOnClickListener(oclBtnCancel);
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
1
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
11.09.2013, 16:35 #4
В манифесте разрешение на камеру прописано?
1
matvey.sofyin
2 / 2 / 0
Регистрация: 29.07.2012
Сообщений: 6
11.09.2013, 22:45 #5
Цитата Сообщение от Grafity Посмотреть сообщение
В манифесте разрешение на камеру прописано?
да.
XML
1
2
3
4
<uses-permission android:name="android.permission.CAMERA" />
    <uses-feature
            android:name="android.hardware.camera.flash"
            android:required="true" />
1
verylazy
Заблокирован
11.09.2013, 22:54 #6
Camera cam = Camera.Open();
Camera cam = Camera.open();
как вообще IDE пропустило open с большой буквы?
1
matvey.sofyin
2 / 2 / 0
Регистрация: 29.07.2012
Сообщений: 6
12.09.2013, 00:02 #7
Цитата Сообщение от verylazy Посмотреть сообщение
Camera cam = Camera.Open();
Camera cam = Camera.open();
как вообще IDE пропустило open с большой буквы?
это я постил, случайно удалил o, перезаписал сам уже в посте с большой. В коде у меня с маленькой. Это роли не играет.

Прописал в манифесте разрешение, вспышка включается на первом .Open, но при повторном нажатии на кнопку "ОК" или нажатии на "Cancel" вылатает ошибка. Видимо, надо проверять статус

Добавлено через 1 час 4 минуты
собственно, вопрос, как это проверить или что сделать? не знаю
0
verylazy
Заблокирован
12.09.2013, 09:34 #8
можно так, наверное
Java
1
2
3
if (camera == null) {
            camera = Camera.open();
        }
http://developer.android.com/referen...#open%28int%29
Creates a new Camera object to access a particular hardware camera. If the same camera is opened by other applications, this will throw a RuntimeException.

You must call release() when you are done using the camera, otherwise it will remain locked and be unavailable to other applications.
я вообще бы сделал вкл/выкл на одной кнопке
1
Tailor
3 / 3 / 1
Регистрация: 11.04.2012
Сообщений: 44
10.02.2014, 20:30 #9
Добрый день, написал на скорую руку код для двух кнопок, вкл. и выкл.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//---------------Фонарик вкл------------------
    public void Flashlight_on(View v) throws IOException{
        //cam.unlock();
        cam.reconnect();
        p.setFlashMode(Parameters.FLASH_MODE_TORCH);
        cam.setParameters(p);
        cam.startPreview();     
    }
    
    //---------------Фонарик выкл------------------
    public void Flashlight_off(View v){
        cam.stopPreview();
        cam.release();
    }
Установил на телефон приложение, все дела. Нажимаю вкл. - фонарик включается. нажимаю Выкл. - выключается - супер. А когда нажимаю опять вкл, то приложение выдает ошибку в духе "ошибка в приложении". Скорее всего нужно удалить/добавить одну две-строчки, подскажите плжста!
0
Bringoff
СуперМодулятор
133 / 132 / 48
Регистрация: 03.11.2012
Сообщений: 974
11.02.2014, 10:13 #10
Вот наваял на коленке пример: не знаю, чем вы там занимаетесь, но все работает, как надо - по крайней мере, у меня
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
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.Switch;
 
public class FlashActivity extends Activity {
 
    private Switch mSwitch;
    private Camera camera;
 
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        mSwitch = (Switch) findViewById(R.id.switch_light);
        mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (camera == null) {
                    camera = Camera.open();
                }
                Camera.Parameters parameters = camera.getParameters();
                if (!isChecked) {
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
                } else {
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                }
                camera.setParameters(parameters);
                camera.startPreview();
            }
        });
    }
 
    @Override
    public void onDestroy() {
        camera.release();
        super.onDestroy();
    }
}
При сворачивании и выключении экрана продолжает гореть (теоретически, если не хватит памяти, оно выключится, но при выключенном экране вряд ли может произойти переполнение ОЗУ)). По кнопке назад выключается.
Единственное, это при горящем фонарике не выйдет запустить камеру. Стандартный miui-шный фонарь и камера спокойно взаимодействуют
Ах да, Switch работает с API 14+, но это не главное
1
xaxol_xaxol
6 / 6 / 0
Регистрация: 25.02.2012
Сообщений: 55
12.09.2014, 09:13 #11
выложите кто нибудь исходник для Android Studio, пожалуйста
0
Bringoff
СуперМодулятор
133 / 132 / 48
Регистрация: 03.11.2012
Сообщений: 974
12.09.2014, 15:16 #12
Цитата Сообщение от xaxol_xaxol Посмотреть сообщение
выложите кто нибудь исходник для Android Studio
А это как? Вам типа готовый проект в архиве нужен? Ну извините, таким заниматься никто не будет.
0
xaxol_xaxol
6 / 6 / 0
Регистрация: 25.02.2012
Сообщений: 55
12.09.2014, 16:09 #13
тогда объясните пожалуйста как это сделать на Android studio, если можно поподробнее, что кидаем на форму и что куда пишем
0
Bringoff
СуперМодулятор
133 / 132 / 48
Регистрация: 03.11.2012
Сообщений: 974
12.09.2014, 18:10 #14
Цитата Сообщение от xaxol_xaxol Посмотреть сообщение
что кидаем на форму и что куда пишем
Delphi головного мозга - это страшно (по себе знаю )... xaxol_xaxol, нет, уж лучше проект полный кину. Проект из Intellij Idea 14, но вроде структура идентичная, должно открыться.
1
Вложения
Тип файла: 7z Flashlight.7z (176.5 Кб, 151 просмотров)
12.09.2014, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2014, 18:10

LED шрифт
Привет всем. Хочу сменить текст у некоторых вьюшек, но не как не могу найти...

LED индикаторы на андроиде
Подскажите как ими можно программно управлять?

Загораются LED CPU; LED VGA; LED DRAM. потом тухнут и компьютер перезагружается
здравствуйте я решил собрать комп комплект такой Процессор: Intel Core...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru