Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
sysmustang
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
#1

Автоматическое управление 2G интернетом - Программирование Android

06.10.2015, 13:14. Просмотров 331. Ответов 7
Метки нет (Все метки)

Добрый день уважаемые форумчане! Мне нужно из программы управлять радиомодулями, в частности 2G интернетом (мобильные данные). Я имею ввиду включение/отключение. Воспользовавшись поиском по форуму нашел подобные сообщения, там были примеры включения/отключения wi-fi и bluetooth, а вот за мобильные ничего. Порылся в документации, так ничего полезного не нашел Помогите, пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2015, 13:14     Автоматическое управление 2G интернетом
Посмотрите здесь:

Проверить соединение с интернетом - Программирование Android
Здравствуйте! Столкнулся с такой проблемой, приложение устанавливает коннект с сервером (они общающийся время от времени пакетами...

Как выводить сообщение об отсутствии соединения с интернетом? - Программирование Android
Здравствуйте! У меня в ViewPager загружаются 2 фрагмента. Каждый фрагмент делает асинхронный запрос, ответ парсится с помощю JSON. ...

Каким способом вы определяете наличие соединения с интернетом - Программирование Android
Знаю весь интернет кишит примерами... Но вот каким "хорошим", оптимальным решением пользуетесь вы товарищи? Есть ли заложенный...

Автоматическое обновление БД - Программирование Android
Всем доброго времени суток. У меня такой вопрос ко всем знающим. Хочу написать приложение в котором будет бд с информацией. При запуске...

Автоматическое обновление приложения - Программирование Android
Хаиль! Есть приложение, оно само обновляется раз в минуту, и вновь поступившие с интернета данные отобразятся только когда пройдёт минута....

Автоматическое обновление приложения - Программирование Android
Приветствую всех. Нужен ваш совет. Написал программу для Андройд для своего предприятия. Пользоваться будут около 100 человек. Вот теперь...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
06.10.2015, 13:22     Автоматическое управление 2G интернетом #2
посредством SDK этого не сделать
sysmustang
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
06.10.2015, 13:31  [ТС]     Автоматическое управление 2G интернетом #3
Хмм.. Android это модифицированный линукс с ядром под ARM процессор. Устройство рутированое, я пробовал отключать и включать интерфейс (в моем случае rmnet0), только вот интернет не пашет. Скорее всего нужно задавать определенные настройки, такие как точка доступа, шлюз и т.д. Но вот по поводу Android приложения, существует такая вещь как 3G manager (http://4pda.ru/forum/index.php?showtopic=381461, https://play.google.com/store/apps/d...site.ggovernor). И вот это приложение отключает как мобильные данные, так и 3G, даже рут прав не надо.
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
06.10.2015, 14:08     Автоматическое управление 2G интернетом #4
Упс, да) невнимательно прочитал вопрос. Думал надо переключаться с 2G на 3G и прочее.
Отключаться конечно можно из приложения
sysmustang
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
06.10.2015, 15:33  [ТС]     Автоматическое управление 2G интернетом #5
Еще бы знать как это сделать))
fraley
105 / 105 / 38
Регистрация: 24.05.2015
Сообщений: 316
06.10.2015, 17:52     Автоматическое управление 2G интернетом #6
sysmustang, если речь идет о включение и выключение мобильного интернета вообще, то проверьте этот топик:
http://stackoverflow.com/questions/1...lly-on-android
Последний вариант 100% рабочий. Другие не проверял.
sysmustang
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
10.10.2015, 14:06  [ТС]     Автоматическое управление 2G интернетом #7
Я новичок в Android, до недавних пор единственное что знал -- все что под Android написано на Java. Скачал Android Studio, выбрал тему Empty Activity. И тут первый вопрос, должен быть класс main java, а его нет. Зато есть класс MainActivity.java, ну я туда все запихнул. В манифест добавил нужное разрешение, при установке оно спрашивается. Только вот почему-то мобильные данные не включаются. Мне нужно что бы сразу при входи в приложение включился мобильный инет. Что я делаю не так?
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
package ru.mustang.mustang2g;
 
import android.content.Context;
import android.net.ConnectivityManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
 
import java.lang.reflect.Field;
import java.lang.reflect.Method;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    public void mobiledataenable(boolean enabled) {
 
        try {
            final ConnectivityManager conman = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            final Class<?> conmanClass = Class.forName(conman.getClass().getName());
            final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
            iConnectivityManagerField.setAccessible(true);
            final Object iConnectivityManager = iConnectivityManagerField.get(conman);
            final Class<?> iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
            final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
            setMobileDataEnabledMethod.setAccessible(true);
            setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
 
        MainActivity enabaledata =  new MainActivity();
        enabaledata.mobiledataenable(true);
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2015, 14:30     Автоматическое управление 2G интернетом
Еще ссылки по теме:

Автоматическое обновление текста - Программирование Android
Как сделать, что бы текст в textview, менялся каждые 10 секунд

автоматическое изменение размера шрифта - Программирование Android
как можно реализовать автомасштабирование (изменение размера шрифта в ТекстВию) Текста в зависимости от размеров экрана? Мне просто нужно...

Автоматическое преобразование текста ресурсов в число - Программирование Android
Есть код button.setText(&quot;&quot; + R.string.value); Он пишет текст для кнопки примерно такого вида: Догадываюсь, что программа не...

Как сделать автоматическое добавление Layouts? - Программирование Android
Есть такая разметка для андроид приложения: &lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; ...


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

Или воспользуйтесь поиском по форуму:
fraley
105 / 105 / 38
Регистрация: 24.05.2015
Сообщений: 316
10.10.2015, 14:30     Автоматическое управление 2G интернетом #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
sysmustang, нужно функцию MobileDataEnable вынести из onCreate.
В onCreate будет только вызов функции с параметром true, так как вы хотите чтоб интернет сразу был включен.
Примерно так:
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
package ru.mustang.mustang2g;
 
import android.content.Context;
import android.net.ConnectivityManager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
 
import java.lang.reflect.Field;
import java.lang.reflect.Method;
 
 
public class MainActivity extends ActionBarActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        MobileDataEnable(true);
    }
 
    public void MobileDataEnable(boolean enabled) {
 
        try {
            final ConnectivityManager conman = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
            final Class<?> conmanClass = Class.forName(conman.getClass().getName());
            final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
            iConnectivityManagerField.setAccessible(true);
            final Object iConnectivityManager = iConnectivityManagerField.get(conman);
            final Class<?> iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
            final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
            setMobileDataEnabledMethod.setAccessible(true);
            setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
}
Yandex
Объявления
10.10.2015, 14:30     Автоматическое управление 2G интернетом
Ответ Создать тему
Опции темы

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