Название: Qt5.2 + Android + JNI вызов (на примере vibrator) Отправлено: andrek от Декабрь 16, 2013, 11:40 Сам java класс vibrator описан здесь http://developer.android.com/reference/android/os/Vibrator.html (http://developer.android.com/reference/android/os/Vibrator.html)
Я целый день перелопатил гугль, вот сконструировал рабочий пример (думаю 100% кому нибудь пригодиться, день съэкономите): Код: #include <QAndroidJniObject> В 5.2 появился новый класс QAndroidJniObject, как бы мне этот пример уменьшить с помощью QAndroidJniObject (для чего то его добавили же)? Название: Re: Qt5.2 + Android + JNI вызов (на примере vibrator) Отправлено: carrygun от Декабрь 16, 2013, 12:23 Я слегка оффтопну, но вот Вы, как человек, пишущий под Андроид, не могли бы сказать, можно ли в 5.2 получить *.apk адекватным способом? Деплоить запуском на устройство уж очень не нравится, я думал что в 5.2 это исправят, но толи ничего не сделали, толи я чего не нашел.
Название: Re: Qt5.2 + Android + JNI вызов (на примере vibrator) Отправлено: silverrulezz от Декабрь 16, 2013, 12:47 Цитировать как бы мне этот пример уменьшить с помощью QAndroidJniObject Есть пример работы с Qt Android Extras http://doc-snapshot.qt-project.org/qt5-stable/qtandroidextras-notification-example.htmlПо аналогии добавляем новый метод в NotificationClient.java: Код: static void vibrate(int ms) Из Си вызываем таким вот способом: Код: QAndroidJniObject::callStaticObjectMethod("org/qtproject/example/notification/NotificationClient", "vibrate", "(I)V", 500); Цитировать можно ли в 5.2 получить *.apk адекватным способом? Тоже интересует данный вопрос :)Название: Re: Qt5.2 + Android + JNI вызов (на примере vibrator) Отправлено: andrek от Декабрь 16, 2013, 14:42 спасибо, вроде то что нужно. потестирую.
наcчет APK, встраивать это в qt creator не разумно, т.к. креатор не должен быть привязан к определенной архитектуре, а APK это только для Android. Но как вариант можно собирать скриптом, в папке android-build через ndk-build + ant Название: Re: Qt5.2 + Android + JNI вызов (на примере vibrator) Отправлено: andrek от Декабрь 17, 2013, 02:43 Есть пример работы с Qt Android Extras http://doc-snapshot.qt-project.org/qt5-stable/qtandroidextras-notification-example.html К сожалению этот пример у меня не заработал, NullPointerException на Context.NOTIFICATION_SERVICEподобное описано уже здесь: http://stackoverflow.com/questions/6207689/notification-from-intentservice-nullpointerexception-while-obtaining-context (http://stackoverflow.com/questions/6207689/notification-from-intentservice-nullpointerexception-while-obtaining-context) Название: Re: Qt5.2 + Android + JNI вызов (на примере vibrator) Отправлено: silverrulezz от Декабрь 17, 2013, 11:44 Я вижу тебе уже ответили на stackoverflow. Но есть и другой вариант. Необязательно писать это дело в onCreate. У тебя такая строка кода:
Код: mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Код: mNotificationManager = (NotificationManager)m_instance.getSystemService(Context.NOTIFICATION_SERVICE); И вот такой вот конструктор: Код: private static NotificationClient m_instance; Контекст пожно получать таким вот образом: Код: m_instance.getApplicationContext() |