Qt for Android调用android原生Toast控件
生活随笔
收集整理的這篇文章主要介紹了
Qt for Android调用android原生Toast控件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用Qt開發Android應用,有時候會想著直接調用android原生的一些組件或者打開某些android的系統界面,比如調用Toast顯示消息提醒、打開android系統設置頁面。這里主要講解如何通過Qt調用android原生的Toast來顯示消息提醒。
首先,如果是一個新創建的Qt工程,需要創建一個AndroidManifest.xml文件,創建過程不再贅述,然后創建一個java的類,繼承于
public class MainActivity extends org.qtproject.qt5.android.bindings.QtActivity調用Toast 需要用到Handler,要不然無法調用
private static Handler mHandler;接著看代碼
private static Handler m_handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 1:Toast toast = Toast.makeText(m_instance,(String)msg.obj, Toast.LENGTH_SHORT);toast.show();break;};}};然后定義一個靜態函數 供Qt調用
public static void makeToast(String s){m_handler.sendMessage(m_handler.obtainMessage(1, s));}OK,這時候Qt就可以通過makeToast函數來調用Toast控件顯示相應的消息了,調用方式如下:
QAndroidJniObject javaToast = QAndroidJniObject::fromString(text); QAndroidJniObject::callStaticMethod<void>("com/lyy/test/MainActivity","makeToast","(Ljava/lang/String;)V",javaToast.object<jstring>());其中 text就是要顯示的內容,com/lyy/test/MainActivity是java類的包路徑。
總結
以上是生活随笔為你收集整理的Qt for Android调用android原生Toast控件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt QPushButton圆形图片设置
- 下一篇: QML适配不同设备