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

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

Восстановить пароль Регистрация
 
kotketa
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 9
27.11.2015, 23:56     Зависает программа при нажатии кнопки #1
Суть программы была такова, что при нажатии на кнопку должен запускаться цикл, который будет включать мобильный интернет и через некоторое время выключать и заново.
Совсем незнаком с синтаксисом явы, двухдневное курение мануалов привело к коду ниже:
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();
    }     
}
 
 
}
Все дело в том, что при нажатии на кнопку, программа зависает и уже ничего нельзя сделать + позже, после одного цикла, программа вообще перестает работать и зависает. Как это пофиксить? Уже не знаю, как с этим бороться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2015, 23:56     Зависает программа при нажатии кнопки
Посмотрите здесь:

Условие открытия WebView при нажатии на разные кнопки Android
Дизайн кнопки при наведении, нажатии Android
Android Нужно, чтобы при отмеченном чекбоксе кнопки работали, а при снятии флажка переставали работать
Вылет при нажатии кнопки Android
Смена надписи при нажатии кнопки XML Android
Ошибка при нажатии кнопки button Android
Android Ошибка при нажатии
Android В созданном браузере при нажатии кнопки "Назад" выходит из приложения
Считывание чисел при нажатии на кнопки Android
Сворачивание приложения при нажатии кнопки "Назад" Android
Android Alert Dialog закрывается при нажатии кнопки Назад
Добавить символ в EditText при нажатии кнопки Android

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

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

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