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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не получается считать информацию с sdcard http://www.cyberforum.ru/android-dev/thread1594864.html
Если задаю что-то из корня, например: String path_to_file = "/etc/ad_calib.cfg"; то приложение не падает. Если ввожу что-нибудь из sdcard, например: String path_to_file =...
Программирование Android Траблы с ListView Всем привет, подскажите в чем может быть дело. Инициализирую ListView. Приложение при запуске падает и все. Вот MainActivity package com.example.listview; import android.app.ListActivity;... http://www.cyberforum.ru/android-dev/thread1594800.html
Программирование Android Программа для Android, работа с юникодом
Здравствуйте! Вопрос такой: Нужно создать алгоритм, который будет разбивать текст на символы, переводить символы в код юникода, прибавлять заданное число к коду, переводить полученное число...
Программирование Android Почему Handler не отображает сообщение на экране
Есть Handler, который выполняет Runnable, во входящий поток отправляется сообщение, по сути он должен отобразить его на экране, но нет, если не работает, то явно что-то я не так делаю, подскажите и...
Программирование Android Ускорение времени срабатывания кнопок с несколькими кодами (Key android:codes="97,98,99") http://www.cyberforum.ru/android-dev/thread1594460.html
Есть олд стайл клавиатура (см. файл) и очень быстрый набиратель текста по-старинке :) Мне надо напечатать, например, "abac", что потребует достаточного много времени ожидания: 1-но нажатие для "а",...
Программирование Android Безопасность амазоновского identity pool в app Как можно защитить identity pool? Если его даже зашифровать и оставить в ресурсах, все равно при декомпиляции он станет доступен взломщику ч/з функцию дешифровки. Есть ли идеи на сей счет? Спасибо. подробнее

Показать сообщение отдельно
kotketa
0 / 0 / 0
Регистрация: 01.10.2014
Сообщений: 9

Зависает программа при нажатии кнопки - Программирование 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru