前言

Qt for Android 获取手机型号/手机制造商/手机序列号,这些是要通过 Android 原生接口才能获取到的, 那么在 Qt 项目中通过 jni 接口调用 Android 原生接口来获取相应的值,之前已经写文章详细介绍如何在 Qt 工程中添加 java 文件然后实现 Android 接口的调用,在这里.那么这里只提供关键部分代码.

正文

首先来看看 Android 端的实现.

导入包 import java.lang.reflect.Method;

获取手机型号

public static String getDeviceModel()    {        String mtype = "";        try{            mtype = android.os.Build.MODEL; // 手机型号        }catch (Exception e) {            e.printStackTrace();        }        return mtype;    }

获取手机制造商

public static String getDeviceManufacturer()    {        String mtype = "";        try{            mtype = android.os.Build.MANUFACTURER; // 手机制造商        }catch (Exception e) {            e.printStackTrace();        }        return mtype;    }

获取手机序列号

private static String getSerialNumber(){      String serial = null;      try {        Class<?> c =Class.forName("android.os.SystemProperties");        Method get =c.getMethod("get", String.class);        serial = (String)get.invoke(c, "ro.serialno");      } catch (Exception e) {        e.printStackTrace();      }      return serial;    }

然后来看看在 Qt 端如何通过 jni调用相应的 Android 接口

Qt 调用手机型号接口

QString AndroidInterface::getDeviceModel(){    QAndroidJniObject str = QAndroidJniObject::callStaticObjectMethod("com/lyy/test/MainActivity",                                                                         "getDeviceModel",                                                                         "()Ljava/lang/String;");    return str.toString();}

Qt 调用手机制造商接口

QString AndroidInterface::getDeviceManufacturer(){    QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod("com/lyy/test/MainActivity",                                                                         "getDeviceManufacturer",                                                                         "()Ljava/lang/String;");    return string.toString();}

Qt 调用手机序列号接口

QString AndroidInterface::getSerialNumber(){    QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod("com/lyy/test/MainActivity",                                                                         "getSerialNumber",                                                                         "()Ljava/lang/String;");    return string.toString();}

ok,以上是 Qt 端已经封装好的接口,代码很简单,不再赘述.

更多相关文章

  1. 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第五
  2. Android 无线接口层RIL
  3. android对html支持接口总结
  4. Android 匿名共享内存Java接口分析
  5. Android 8、Android 9获取手机序列号的兼容写法
  6. Android rest接口
  7. android 常用api 接口签名验证
  8. Android中接口的使用及类使用
  9. Android Studio 之 View组件常用属性及其对应的编程接口

随机推荐

  1. 让 Android 应用跑在 Windows 平台上,Blue
  2. 《阿里巴巴Android开发手册》正式发布,安
  3. Android函数响应式编程最新RxJava-操作符
  4. 如何解决android studio常见安装完成后出
  5. 关于Android 2.2与2.3 adb.exe版本更新问
  6. 【Android 初学】3、控件布局初步
  7. [Android]权限处理
  8. kotlin协程库报错“Program type already
  9. Android中的Handler和Thread详解及应用
  10. Android P 正式到来