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

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

Войти
Регистрация
Восстановить пароль
 
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 424
#1

Проверка лицензии - Программирование Android

01.01.2014, 15:51. Просмотров 993. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2014, 15:51     Проверка лицензии
Посмотрите здесь:

Проверка на окончание лицензии - Delphi БД
Имеется код procedure TForm3.Button8Click(Sender: TObject); var d:integer; good:boolean; begin DM.Query1.Close; ...

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

Проверка лицензии Windows правоохранительными органами - Закон и право
Предположим стоит у меня дома windows 7. И я как не ответственный гражданин использовал активатор. Спустя 3 месяца во мне проснулась...

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

1с 8.2 лицензии - 1С
Люди, я чё-та туплю. :) А кол-во лицензий распространяется на все базы или только на одну? Т.е. допустим у меня 50 лицензий, и 50...

Держатель лицензии - Антивирусы
Имею в своем пользовании антивирус avast premier 2015. Искал возможности продлить подписку либо с помощью кода активации, либо с помощью...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 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
 
    }
}
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 424
01.01.2014, 21:19  [ТС]     Проверка лицензии #3
Цитата Сообщение от YuraAAA Посмотреть сообщение
попробуйте передать в Ваш класс экземпляр TextView и вызвать метод post.
Не работает. Сделал все как казали, не проходит проверку
Java
1
 if (textView != null)
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.01.2014, 21:20     Проверка лицензии #4
ASDFD12, ага, а Вы вызов когда делаете? Надо делать после setContentView и после findViewById
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 424
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");
        
    }
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 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);
    //....
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 14:48     Проверка лицензии
Еще ссылки по теме:

Условия лицензии - Matlab
Делал ли кто свои программы на языках программирования с использованием матлабовских DLL? Интересует вот что: легально ли использовать...

Ошибка лицензии - Windows 7
Всем добрые сутки! Стоит лицензированная версия виндовс 7! После апгрейда стала вылезать ошибка - что лицензия не прошла проверку...

Вопрос по лицензии. - Windows
Добрый день.Собираюсь брать новый комп.Всегда работал на пиратских ос.Товарищ уперся и хочет брать лицензионную семерку.Скажите,у них...

Активация лицензии - 1С Битрикс
Добрый день. Начал совсем не давно учить битрикс, помогите разобраться с активацией лицензий на битрикс. Купил лицензию битрикс Старт +...


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

Или воспользуйтесь поиском по форуму:
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 424
02.01.2014, 14:48  [ТС]     Проверка лицензии #7
Помогло.
Yandex
Объявления
02.01.2014, 14:48     Проверка лицензии
Ответ Создать тему
Опции темы

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