Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
1

Проверка лицензии

01.01.2014, 15:51. Просмотров 1192. Ответов 6
Метки нет (Все метки)

Есть проверка лицензии приложения, которая запускается так:
Java
1
mChecker.checkAccess(mLicenseCheckerCallback);
Обьект mLicenseCheckerCallback служит для возвращение результата проверки лицензии. Вот его класс.
В случае удачной проверки лицензии запускаеться метод allow(). Я хочу чтобы этот метод поменял значение TextView. Проверка лицензии, я так понимаю происходит в свое потоке (я ее не писал), таким образом я в методе OnCreate () определил обработчик Handler (код ниже). А в методе allow() создаю пустое сообщение, в переменную what записываю 10 (просто так). Когда это сообщение прийдет, обработчик должен поменять значение текста в TextView. Но приложение зависает в обработчике Handler на строке, где меняеться текст.
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
class MyLicenseCheckerCallback implements IAndroidPitLicenseCheckerCallback
        {
 
            @Override
            public void allow()
            {
                Log.d(LoqTag, "allow");
                // TODO: Handle positive response
            mHandler.sendEmptyMessage(10); // вот отправил пустое сообщение
                
            }
 
            @Override
            public void dontAllow()
            {
                Log.d(LoqTag, "dontAllow");
                
                // TODO: Handle negative response
                   
 
            }
 
           
           
 
            @Override
            public void applicationError(AndroidPitLicenseCheckCode errorCode) {
                Log.d(LoqTag, "msgError");
                
                // TODO Auto-generated method stub
                
            }
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
public class MainActivity extends Activity {
....
...
Handler mHandler;
.....
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        txt1= (TextView)findViewById(R.id.textView1);
        Log.d(LoqTag, "ссылка на textView");
        
         mHandler = new Handler() {
                
            
                
                public void handleMessage(android.os.Message msg) 
                {
                
                    Log.d(LoqTag,"handleMessage");
                    // обновляем TextView
                    txt1.setText("HELLO");
                                  
                }
                                              };     
 
...
}
Вот последние логи
Java
1
2
3
4
5
6
7
8
9
10
11
12
01-01 13:49:14.794: D/jdwp(16603): processIncoming
01-01 13:49:14.794: D/jdwp(16603): handlePacket : cmd=0x1, cmdSet=0x6, len=0x17, id=0x1129, flags=0x0, dataLen=0xC
01-01 13:49:14.797: D/jdwp(16603): processIncoming
01-01 13:49:14.797: D/jdwp(16603): handlePacket : cmd=0x1, cmdSet=0x2, len=0x13, id=0x112A, flags=0x0, dataLen=0x8
01-01 13:49:14.799: D/jdwp(16603): processIncoming
01-01 13:49:14.799: D/jdwp(16603): handlePacket : cmd=0xD, cmdSet=0x2, len=0x13, id=0x112B, flags=0x0, dataLen=0x8
01-01 13:49:14.802: D/jdwp(16603): processIncoming
01-01 13:49:14.802: D/jdwp(16603): handlePacket : cmd=0x1, cmdSet=0x6, len=0x17, id=0x112C, flags=0x0, dataLen=0xC
01-01 13:49:14.805: D/jdwp(16603): processIncoming
01-01 13:49:14.805: D/jdwp(16603): handlePacket : cmd=0x1, cmdSet=0x2, len=0x13, id=0x112D, flags=0x0, dataLen=0x8
01-01 13:49:14.808: D/jdwp(16603): processIncoming
01-01 13:49:14.808: D/jdwp(16603): handlePacket : cmd=0xD, cmdSet=0x2, len=0x13, id=0x112E, flags=0x0, dataLen=0x8
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2014, 15:51
Ответы с готовыми решениями:

Включать ли файл лицензии сторонних компонентов в сборку приложения
Добрый день, скажите пожалуйста при сборке Android приложения если я использую...

Проверка internet connection. Проверка доступности сети
Добрый день. Для проверки Internet Connection советуют делать что-то вроде:...

Проверка на окончание лицензии
Имеется код procedure TForm3.Button8Click(Sender: TObject); var d:integer;...

Проверка статуса лицензии Windows
Добрый день, проблема такая: Необходим скрипт, проверяющий статус лицензии...

Как сделать проверку лицензии своего продукта и запретить использование без лицензии
Доброго времени суток. К примеру, у меня есть скрипт, который я хочу...

6
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
01.01.2014, 17:34 2
ASDFD12, попробуйте передать в Ваш класс экземпляр TextView и вызвать метод post.

ex:

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
class MyLicenseCheckerCallback implements IAndroidPitLicenseCheckerCallback{
    
    private TextView textView;
 
    MyLicenseCheckerCallback(TextView textView) {
        this.textView = textView;
    }
 
    @Override
    public void allow()
    {
        Log.d(LoqTag, "allow");
        // TODO: Handle positive response
        if (textView != null) {
            textView.post(new Runnable() {
                @Override
                public void run() {
                    textView.setText("");     
                }
            });
        }
 
    }
 
    @Override
    public void dontAllow()
    {
        Log.d(LoqTag, "dontAllow");
 
        // TODO: Handle negative response
 
 
    }
 
 
 
 
    @Override
    public void applicationError(AndroidPitLicenseCheckCode errorCode) {
        Log.d(LoqTag, "msgError");
 
        // TODO Auto-generated method stub
 
    }
}
1
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
01.01.2014, 21:19  [ТС] 3
Цитата Сообщение от YuraAAA Посмотреть сообщение
попробуйте передать в Ваш класс экземпляр TextView и вызвать метод post.
Не работает. Сделал все как казали, не проходит проверку
Java
1
 if (textView != null)
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
01.01.2014, 21:20 4
ASDFD12, ага, а Вы вызов когда делаете? Надо делать после setContentView и после findViewById
1
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
01.01.2014, 21:32  [ТС] 5
Цитата Сообщение от YuraAAA Посмотреть сообщение
Вы вызов когда делаете?
Так и делаю
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
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        txt1= (TextView)findViewById(R.id.textView1); 
        Log.d(LoqTag, "ссылка на textView");
                
        mLicenseCheckerCallback = new MyLicenseCheckerCallback(txt1);
        
        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
                device_id=tm.getDeviceId();
        
        
        Log.d(LoqTag, "создаем mChecker");
        mChecker = new AndroidPitLicenseChecker(
                this,
                getPackageName(),
                ANDROIDPIT_PUBLIC_KEY);
        
        Log.d(LoqTag, "выводым контент");
        setContentView(R.layout.activity_main);
        Log.d(LoqTag, "вкл Debag");
        mChecker.setDebug(true);
        Log.d(LoqTag, "run license");
        mChecker.checkAccess(mLicenseCheckerCallback); // вот вызов
        Log.d(LoqTag, "change text");
        
    }
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
02.01.2014, 12:16 6
ASDFD12, setContentView(R.layout.activity_main); перенесите на верх, чтобы бы было так:

Java
1
2
3
4
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //....
1
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
02.01.2014, 14:48  [ТС] 7
Помогло.
0
02.01.2014, 14:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 14:48

Файл лицензии программной лицензии 1С 8.2
Привет! Помогите найти файл лицензии программной лицензии 1С. Лицензия...

Лицензии Qt
Добрый день, проконсультируйте плииииз! Уже несколько раз порываюсь начать...

Лицензии
Я написал программу. Обязательно ли прилагать к ней лицензию? Как должна...


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

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

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