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

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

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

Зависает программа при нажатии кнопки - Программирование Android

27.11.2015, 23:56. Просмотров 324. Ответов 2
Метки нет (Все метки)

Суть программы была такова, что при нажатии на кнопку должен запускаться цикл, который будет включать мобильный интернет и через некоторое время выключать и заново.
Совсем незнаком с синтаксисом явы, двухдневное курение мануалов привело к коду ниже:
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
70
71
72
73
74
75
76
77
78
79
80
package com.example.steamtradesupporter;
 
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.concurrent.TimeUnit;
 
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
 
public class MainActivity extends Activity {
    
    Method dataConnSwitchmethod_ON;
    Method dataConnSwitchmethod_OFF;
    Class telephonyManagerClass;
    Object ITelephonyStub;
    Class ITelephonyClass;
    Button butt;
    TextView tView;
    
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
 
butt = (Button) findViewById(R.id.but);
tView = (TextView)findViewById(R.id.tv);
 
butt.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        tView.setText("Программа запущена");
        StartTrade();
    }
});
}
 
private void StartTrade() {
    int n = 1;
    while (n == 1) {
        mobiledataenable(true);
        try {
            TimeUnit.SECONDS.sleep(120);
        } catch (InterruptedException e1) {
            e1.printStackTrace();
        }
        mobiledataenable(false);
        try {
              TimeUnit.SECONDS.sleep(10);
            } catch (InterruptedException e) {
              e.printStackTrace();
            }
    }
}
 
private 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();
    }     
}
 
 
}
Все дело в том, что при нажатии на кнопку, программа зависает и уже ничего нельзя сделать + позже, после одного цикла, программа вообще перестает работать и зависает. Как это пофиксить? Уже не знаю, как с этим бороться.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2015, 23:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Зависает программа при нажатии кнопки (Программирование Android):

Вылет при нажатии кнопки - Программирование Android
Доброго времени суток. Опять непонятная ошибка, при нажатии кнопки приложение вылетает. Вот ошибка: java.lang.IllegalStateException:...

Ошибка при нажатии кнопки button - Программирование Android
Добрый день, прошу прощения за такой глупый вопрос. Только начал разбираться, и тут сразу ловлю ступор. Приложение - в одно поле ввести...

Дизайн кнопки при наведении, нажатии - Программирование Android
Создал в папке drawable папку mybutton, создал там XML файл use.xml: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;selector...

Считывание чисел при нажатии на кнопки - Программирование Android
Здравствуйте . Пишу калькулятор под Android на Java . На экране есть кнопки 0-9 , + , - , * , / и запятая . Пользователь набирает цифры ,...

Смена надписи при нажатии кнопки XML - Программирование Android
Добрый день. Пишу небольшую программку в Android Studio 1.0. Есть кнопка, описанная в XML. Необходимо, что бы при нажатии на неё объекту...

Перезагрузить родителя при нажатии кнопки Back - Программирование Android
При нажатии кнопки Back по стандарту он просто пересылает назад и подгружает все из кэша.Мне надо чтоб он переходил назад но при этом...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Velesthau
523 / 425 / 129
Регистрация: 25.11.2014
Сообщений: 1,662
28.11.2015, 00:29 #2
Цитата Сообщение от kotketa Посмотреть сообщение
Как это пофиксить?
Не делать бесконечный цикл.
0
kotketa
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 9
28.11.2015, 00:58  [ТС] #3
Velesthau, так мне в любом случае нужен бесконечный цикл. Ну или по крайней мере, до того, пока не нажмут другую кнопку, которую я еще не сделал
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2015, 00:58
Привет! Вот еще темы с ответами:

Добавить символ в EditText при нажатии кнопки - Программирование Android
Программа при нажатии на Button, должна выводить в EditText символ, например нажимаем на Button ooo, и в EditText появляется буква 'k', но...

Условие открытия WebView при нажатии на разные кнопки - Программирование Android
Такое условие. Есть два Activity (MainActivity и WebViewActivity). В MainActivity две кнопки. При нажатии на первую кнопку должен появиться...

Alert Dialog закрывается при нажатии кнопки Назад - Программирование Android
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setCancelable(false); Диалог все равно закрывается,...

Сворачивание приложения при нажатии кнопки "Назад" - Программирование Android
Как сделать, чтобы при нажатии кнопки &quot;назад&quot; приложение не закрывалось, а сворачивалось?


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

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

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