Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/30: Рейтинг темы: голосов - 30, средняя оценка - 4.63
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405

Авторизация GET запросом + IMEI

15.01.2014, 15:20. Показов 6221. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Хочу сделать авторизацию, где пользователь должен ввести логин, а в качестве пароля используем IMEI устройства.

Нашел в инете пример с гет запросом, работает. Но теперь не могу вместо пароля вставит IMEI
Выдает ошибку. Помогите разобраться в ошибке. Спасибо

Это код Activity
Кликните здесь для просмотра всего текста

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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
package com.example.get_zapros;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
 
import com.example.get_zapros.R;
 
 
 
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends Activity implements OnClickListener {
    private EditText usernameEditText;
    private EditText passwordEditText;
    public TextView textDeviceID;
    private Button sendGetReqButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView textDeviceID = (TextView)findViewById(R.id.devicei);
         
        //retrieve a reference to an instance of TelephonyManager
        TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
     
        textDeviceID.setText(getDeviceID(telephonyManager));
    
        
        usernameEditText = (EditText) findViewById(R.id.main_username_editText);
        passwordEditText = (EditText) findViewById(R.id.main_password_editText);
      
        sendGetReqButton = (Button) findViewById(R.id.main_sendGetReq_button);
        sendGetReqButton.setOnClickListener(this);
    }String getDeviceID(TelephonyManager phonyManager){
     
     String id = phonyManager.getDeviceId();
     if (id == null){
      id = "not available";
     }
     
     int phoneType = phonyManager.getPhoneType();
     switch(phoneType){
     case TelephonyManager.PHONE_TYPE_NONE:
      return "NONE: " + id;
     
     case TelephonyManager.PHONE_TYPE_GSM:
      return id;
     
     case TelephonyManager.PHONE_TYPE_CDMA:
      return "CDMA: MEID/ESN=" + id;
     
     /*
      *  for API Level 11 or above
      *  case TelephonyManager.PHONE_TYPE_SIP:
      *   return "SIP";
      */
     
     default:
      return "UNKNOWN: ID=" + id;
     }
     
    }
    
 
    
    
    
    
    
    
    
    
    @Override
    public void onClick(View v) {
 
        if(v.getId() == R.id.main_sendGetReq_button){
 
            // Get the values given in EditText fields
            String givenUsername = usernameEditText.getText().toString();
            
            String givenPassword = textDeviceID.getText().toString();
            
            System.out.println("Given usernames is :" + givenUsername + " Given password is :" + givenPassword);
 
            // Pass those values to connectWithHttpGet() method
            connectWithHttpGet(givenUsername, givenPassword);
        }       
    }
 
    private void connectWithHttpGet(String givenUsername, String givenPassword) {
 
        // Connect with a server is a time consuming process.
        //Therefore we use AsyncTask to handle it
        // From the three generic types;
        //First type relate with the argument send in execute()
        //Second type relate with onProgressUpdate method which I haven't use in this code
        //Third type relate with the return type of the doInBackground method, which also the input type of the onPostExecute method
        class HttpGetAsyncTask extends AsyncTask<String, Void, String>{
 
            @Override
            protected String doInBackground(String... params) {
 
                // As you can see, doInBackground has taken an Array of Strings as the argument
                //We need to specifically get the givenUsername and givenPassword
                String paramUsername = params[0];
                String paramPassword = params[1];
                System.out.println("paramUsername is :" + paramUsername + " paramPassword is :" + paramPassword);
 
                // Create an intermediate to connect with the Internet
                HttpClient httpClient = new DefaultHttpClient();
 
                // Sending a GET request to the web page that we want
                // Because of we are sending a GET request, we have to pass the values through the URL
                HttpGet httpGet = new HttpGet("http://ahmadion.tj/android/autorization.php?paramUsername=" + paramUsername + "&paramPassword=" + paramPassword);
 
                try {
                    // execute(); executes a request using the default context.
                    // Then we assign the execution result to HttpResponse
                    HttpResponse httpResponse = httpClient.execute(httpGet);
                    System.out.println("httpResponse");
 
                    // getEntity() ; obtains the message entity of this response
                    // getContent() ; creates a new InputStream object of the entity.
                    // Now we need a readable source to read the byte stream that comes as the httpResponse
                    InputStream inputStream = httpResponse.getEntity().getContent();
 
                    // We have a byte stream. Next step is to convert it to a Character stream
                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
 
                    // Then we have to wraps the existing reader (InputStreamReader) and buffer the input
                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
 
                    // InputStreamReader contains a buffer of bytes read from the source stream and converts these into characters as needed.
                    //The buffer size is 8K
                    //Therefore we need a mechanism to append the separately coming chunks in to one String element
                    // We have to use a class that can handle modifiable sequence of characters for use in creating String
                    StringBuilder stringBuilder = new StringBuilder();
 
                    String bufferedStrChunk = null;
 
                    // There may be so many buffered chunks. We have to go through each and every chunk of characters
                    //and assign a each chunk to bufferedStrChunk String variable
                    //and append that value one by one to the stringBuilder
                    while((bufferedStrChunk = bufferedReader.readLine()) != null){
                        stringBuilder.append(bufferedStrChunk);
                    }
 
                    // Now we have the whole response as a String value.
                    //We return that value then the onPostExecute() can handle the content
                    System.out.println("Returning value of doInBackground :" + stringBuilder.toString());
 
                    // If the Username and Password match, it will return "working" as response
                    // If the Username or Password wrong, it will return "invalid" as response                  
                    return stringBuilder.toString();
 
                } catch (ClientProtocolException cpe) {
                    System.out.println("Exception generates caz of httpResponse :" + cpe);
                    cpe.printStackTrace();
                } catch (IOException ioe) {
                    System.out.println("Second exception generates caz of httpResponse :" + ioe);
                    ioe.printStackTrace();
                }
 
                return null;
            }
 
            // Argument comes for this method according to the return type of the doInBackground() and
            //it is the third generic type of the AsyncTask
            @Override
            protected void onPostExecute(String result) {
                super.onPostExecute(result);
 
                if(result.equals("working")){
                    Toast.makeText(getApplicationContext(), "Авторизация прошла успешно...", Toast.LENGTH_LONG).show();
                }else{
                    Toast.makeText(getApplicationContext(), "Отказано в авторизации", Toast.LENGTH_LONG).show();
                }               
            }           
        }
 
        // Initialize the AsyncTask class
        HttpGetAsyncTask httpGetAsyncTask = new HttpGetAsyncTask();
        // Parameter we pass in the execute() method is relate to the first generic type of the AsyncTask
        // We are passing the connectWithHttpGet() method arguments to that
        httpGetAsyncTask.execute(givenUsername, givenPassword); 
 
    }
}


LOG-прикреплен
Миниатюры
Авторизация GET запросом + IMEI  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2014, 15:20
Ответы с готовыми решениями:

Авторизация post-запросом
Необходимо авторизаваться на сайте. string url = &quot;https://xxx.bz/ru/auth/login&quot;; string myParameters =...

Авторизация post-запросом
Сайт переходит на новую версию, поэтому приходится менять рабочую программу. На сайте есть форма авторизации:&lt;form...

Delphi и авторизация Post запросом
Здравствуйте друзья, подскажите пожалуйста где я ошибаюсь.Пытаюсь авторизоваться методом Post на сайте subscribe.ru вот код procedure...

20
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
15.01.2014, 16:16
Kazachek, у Вас NullPointerException, т.е. попытка вызвать метод у null-объекта.
Такое ощущение что textDeviceID или textDeviceID.getText - null. Покажите main.xml
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
15.01.2014, 16:58  [ТС]
YuraAAA,
Пожалуйста, так же выложил весь проект
Кликните здесь для просмотра всего текста

XML
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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <Button
        android:id="@+id/main_sendGetReq_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="20dp"
        android:text="Авторизоваться" />
 
    <EditText
        android:id="@+id/main_username_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="120dp"
        android:ems="10" >
 
        <requestFocus />
    </EditText>
 
    <EditText
        android:id="@+id/main_password_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/main_username_editText"
        android:layout_below="@+id/main_username_editText"
        android:layout_marginTop="58dp"
        android:ems="10" />
 
    <TextView
        android:id="@+id/devicei"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="63dp"
        android:text="TextView" />
 
</RelativeLayout>
Вложения
Тип файла: rar get_zapros.rar (1.39 Мб, 33 просмотров)
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 08:52  [ТС]
Ребятааааа, друзья, пожалуйста помогитеееее.
Честно очень нужно
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 09:05
Цитата Сообщение от Kazachek Посмотреть сообщение
Ребятааааа, друзья, пожалуйста помогитеееее.
Честно очень нужно
А зачем нужен EditText для пароля, если в качестве пароля используется IMEI, не достаточно будет просто взять его и переслать при авторизации??

Добавлено через 1 минуту
Просто вот это textDeviceID.setText(getDeviceID(telepho nyManager)); в целое число переведите и все - набор цифр, которые используются при регистрации устройства в системе
1
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 09:09  [ТС]
К сожалению не смог, я начинающий и делаю все по примерам. Если это возможно пожалуйста помогите и объясните чтоб во второй раз не задавать таких вопросов.

Добавлено через 3 минуты
Цитата Сообщение от NOSC Посмотреть сообщение
в целое число переведите и все
А как это сделать? помогите пожалуйста
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 09:20
Цитата Сообщение от Kazachek Посмотреть сообщение
А как это сделать? помогите пожалуйста
Заедите переменную
Java
1
static int parol_imei;
после получения пароля, то есть у вас это id, в String
Java
1
parol_imei=Integer.valueOf(id);
Как-то так, если я не путаю ничего
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 09:46  [ТС]
Цитата Сообщение от NOSC Посмотреть сообщение
Заедите переменную
Не знаю где писать указанные коды, где ни пишу везде красная линия отображается

Добавлено через 1 минуту
В самом начале где объявляются переменные добавил первый код
Java
1
2
3
4
5
public class MainActivity extends Activity implements OnClickListener {
    private EditText usernameEditText;
    private EditText passwordEditText;
    private Button sendGetReqButton;
    static int parol_imei;
Добавлено через 15 минут
Все равно не получается, и так и так делаю((

Добавлено через 4 минуты
Как присвоит значение TextView к EditText

В момент генерации имея и выводом на TextView может проситать, чтоб это значение присвоилось и EditText (для пароля) и стало скрытым, и получиться что я введу логин, пароль уже есть но он скрытый и нажимаю кнопку...

Как такой вариант?
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 10:29  [ТС]
Вложил картинку
Миниатюры
Авторизация GET запросом + IMEI  
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 10:45
Цитата Сообщение от Kazachek Посмотреть сообщение
Не знаю где писать указанные коды, где ни пишу везде красная линия отображается
переменная правильно.
EditView для ввода пароля просто выкиньте.
Переменная id - это как раз Ваш IMEI и есть, но он имеет тип данных String, по наатию кнопки, перед отправкой запроса на сервер поставьте
[JAVA]parol_imei=Integer.valueOf(id);
[/JAVA
И отправляйте данные не из переменно id, а из переменной parol_imei
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 10:54  [ТС]
NOSC, Не смог(( Если вы за компом, можете это сами сделать? потому что у меня не получается. Пожалуйста

Добавлено через 40 секунд
Честно, стараюсь, пытаюсь, но не получается.
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 10:56
Цитата Сообщение от Kazachek Посмотреть сообщение
NOSC, Не смог(( Если вы за компом, можете это сами сделать? потому что у меня не получается. Пожалуйста

Добавлено через 40 секунд
Честно, стараюсь, пытаюсь, но не получается.
Скиньте ссылку на проект или выложите сюда, попробую покопаться. С нуля как то мне некогда это писать
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 10:57  [ТС]
Весь проект
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 11:14
Цитата Сообщение от Kazachek Посмотреть сообщение
В манифест добавил

XML
1
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ругань прекратилась. Вот логи:

Кликните здесь для просмотра всего текста

01-16 13:12:05.115: I/System.out(18721): Given usernames is :???? Given password is :
01-16 13:12:05.115: I/System.out(18721): paramUsername is :???? paramPassword is :
01-16 13:12:08.285: I/System.out(18721): httpResponse
01-16 13:12:08.285: I/System.out(18721): Returning value of doInBackground :invalid
01-16 13:12:33.515: I/System.out(18721): Given usernames is :???? Given password is :test
01-16 13:12:33.515: I/System.out(18721): paramUsername is :???? paramPassword is :test
01-16 13:12:36.615: I/System.out(18721): httpResponse
01-16 13:12:36.615: I/System.out(18721): Returning value of doInBackground :invalid
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 11:17  [ТС]
NOSC, у вас работает?
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 11:21
Цитата Сообщение от Kazachek Посмотреть сообщение
NOSC, у вас работает?
Мне не сильно понятно что должно работать, но запрос ушел и ответ от сервера получен
0
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 11:25  [ТС]
Цитата Сообщение от NOSC Посмотреть сообщение
Мне не сильно понятно что должно работать, но запрос ушел и ответ от сервера получен
Пользователь вводит Свой логин, IMEI берется программно.
Логин и IMEI должны отправиться GET запросом на сервер - Вот это у меня не получалось.

По примеру смог отправить логин и пароль, запрос отправлялся и получал ответ, но теперь вместо пароля хочу отправить IMEI вот этим проблема
0
Модератор
 Аватар для vxg
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,463
16.01.2014, 11:48
Цитата Сообщение от Kazachek Посмотреть сообщение
очень нужно
у вас в onCreate повторно определена локальная переменная textDeviceID - не нужно этого делать, тем самым вы перекрываете переменную объекта с таким же именем. именно по этому в ней ничего нет - она не инициализирована и доступ к ней приводит к исключению. просто уберите TextView перед textDeviceID в onCreate
1
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
16.01.2014, 12:13
Цитата Сообщение от vxg Посмотреть сообщение
у вас в onCreate повторно определена локальная переменная textDeviceID - не нужно этого делать, тем самым вы перекрываете переменную объекта с таким же именем. именно по этому в ней ничего нет - она не инициализирована и доступ к ней приводит к исключению. просто уберите TextView перед textDeviceID в onCreate
Тут вопрос видимо решался чтобы и TextView одна была со словами GSM: IMEI и так далее.
Собственно чтобы ничего не перелопачивать, я сделал вот так, там где коммент с кучей "!!!!!!" - это я дописал

Автор Вы так хотели?


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
81
82
83
84
85
86
87
88
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView textDeviceID = (TextView)findViewById(R.id.devicei);
         
        //retrieve a reference to an instance of TelephonyManager
        TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
     
        textDeviceID.setText(getDeviceID(telephonyManager));
       
    
        
        usernameEditText = (EditText) findViewById(R.id.main_username_editText);
        passwordEditText = (EditText) findViewById(R.id.main_password_editText);
        
        passwordEditText.setText((getDeviceID1(telephonyManager))); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      
        sendGetReqButton = (Button) findViewById(R.id.main_sendGetReq_button);
        sendGetReqButton.setOnClickListener(this);
        
        
    }
    
    
    
        String getDeviceID(TelephonyManager phonyManager){
     
     String id = phonyManager.getDeviceId();
     
 
     if (id == null){
      id = "not available";
     }
   
     int phoneType = phonyManager.getPhoneType();
     switch(phoneType){
     case TelephonyManager.PHONE_TYPE_NONE:
      return "NONE: " + id;
     
     case TelephonyManager.PHONE_TYPE_GSM:
      return "GSM: IMEI=" + id;
     
     case TelephonyManager.PHONE_TYPE_CDMA:
      return "CDMA: MEID/ESN=" + id;
     
     /*
      *  for API Level 11 or above
      *  case TelephonyManager.PHONE_TYPE_SIP:
      *   return "SIP";
      */
     
     default:
      return "UNKNOWN: ID=" + id;
     }
     
    }
    
        String getDeviceID1(TelephonyManager phonyManager){ ////!!!!!!!!!!!!!!!!!!!!!!!!!!!!
             
             String id = phonyManager.getDeviceId(); 
             
 
             if (id == null){
              id = "not available";
             }
           
             int phoneType = phonyManager.getPhoneType();
             switch(phoneType){
             case TelephonyManager.PHONE_TYPE_NONE:
              return id;
             
             case TelephonyManager.PHONE_TYPE_GSM:
              return id;
             
             case TelephonyManager.PHONE_TYPE_CDMA:
              return id;
             
             /*
              *  for API Level 11 or above
              *  case TelephonyManager.PHONE_TYPE_SIP:
              *   return "SIP";
              */
             
             default:
              return id;
             }
             
            } //!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Остальное оставил как есть

Добавлено через 1 минуту
Я только до сих пор не понимаю зачем в EditText надо было IMEI ставить чтоб потом его брать от туда. Ну да ладно - как нравится =)
1
 Аватар для Kazachek
18 / 18 / 8
Регистрация: 03.11.2013
Сообщений: 405
16.01.2014, 12:46  [ТС]
NOSC, vxg, Спасибо Вам за помошь и подсказки. Огромное спасибо что решили проблему. Спасибо за понимание. Спасибо форуму что он есть и помогает в трудную минуту. Низкий Вам поклон.

Цитата Сообщение от NOSC Посмотреть сообщение
Я только до сих пор не понимаю зачем в EditText надо было IMEI ставить чтоб потом его брать от туда.
Просто я не смог IMEI указать в запросе и отправить его, по этому решил оставить поле пароля и создал TextView чтоб отображала IMEI, потом хотел задать полю с паролем значение TextView то есть тот самый IMEI чтоб при отправке запроса в качестве пароля отправлялся IMEI.

Еще раз спасибо за помощь и поддержку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.01.2014, 12:46
Помогаю со студенческими работами здесь

Imei
Здравствуйте. В приложении получаю Imei , TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); ...

imei телефона
где можно почитать про эти числа? То есть первые 2 цифры у меня н-р 35. Что это за страна?

MAC IMEI И 3G
Здравсвтуйте! Ситуация: Есть ноутбук, к нему подключен телефон в режиме модема (по сути я так понимаю, как 3G-модем флешка работает) ...

Imei аппарата
Всем привет. Как программно узнать имей аппарата и вывести его на label или edit. Спс. За помощь.

Поменять IMEI
Добрый день. Просьба подсказать знающих людей как можно поменять IMEI на модеме MТС 3g huawei Я пробовал это сделать программой...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru