一、AndroidManifest.xml文件的创建
很简单,有图有真相……
二、AndroidManifest.xml文件的介绍
还是先上图
1、顶部红色波浪线标记的位置可以切换至xml源码;
2、这个页面就三个大的groupBox,分别是Package、Application、Permissions。
下面主要说这三块:
Package:
- package name:包名,默认好像是org.qtproject.example,挺随意的。但是如果你在同一个android机上开发多个qt android项目的时候,最好还是从包名的命名上区分下,不然会发生覆盖。
说明:之前有一点没在意,最近看到这篇博文上说,你在该工程里需要创建的java类源码地址和这个包名还有着千丝万缕的关系。意思就是你的java文件须放在 android/src/org/qtproject/example/文件下。但是我之前不是这样做的,如图我的java文件路径是android_sources/src/com/qt/usejava,也是可以的。所以他的这个说法我再去验证验证……
- Version code和Version name:这个就是app版本号,帮助你做版本控制;
- Minimum required SDK和Target SDK:这个东西别乱改,我之前想的我的Android机子系统是8.0的,我就把Target SDK改到了Android 8.0。然后悲剧了,屏幕亮度调节功能不起作用了……还是规规矩矩的改回去就好了。……尬
Application:
- Application name:好像没什么用,我试过;
- Activity name:App名称,可英文、中文、数字;
- Run:这个必须是工程名!!!
- Application icon:App图标,三种像素大小的(LDPI、MDPI、HDPI)。
permissions:
- add and remove:这个不用说了吧,手动增加和删除android权限。(这个属于静态权限申请)
说明:Android6.0及以上系统,有些权限是需要动态申请的。具体哪些,你用到时就知道了。
/*************************************************
<函数名称> request_Android_Permission
<功 能> 动态申请android权限
<参数说明> str_permission: 具体权限
<返回值> 是否成功
<函数说明> **注意:该函数只能在QT5.10版本及以上才能使用。**
<作 者> mcq
<时 间> 20181201
**************************************************/
bool request_Android_Permission(const QString &str_permission)
{
#ifdef Q_OS_ANDROID
QtAndroid::PermissionResult r = QtAndroid::checkPermission(str_permission);
if(r == QtAndroid::PermissionResult::Denied)
{
QtAndroid::requestPermissionsSync( QStringList() << str_permission );
r = QtAndroid::checkPermission(str_permission);
if(r == QtAndroid::PermissionResult::Denied)
{
return false;
}
}
return true;
#else
return false;
#endif
}
如果你的Qt版本比较低,可以看看这篇文章……
另外,有时候需要将App强制横屏之类的操作:
将AndroidManifest.xml切换至源码状态,ctrl+f查找“android:screenOrientation”,然后将其设置修改为:android:screenOrientation=“sensorLandscape”
其它的可供选的设置方式如下:
“unspecified”:默认值由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
“landscape”:横屏显示(宽比高要长)
“portrait”:竖屏显示(高比宽要长)
“user”:用户当前首选的方向
“behind”:和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
“sensor”:有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。
“nosensor”:忽略物理感应器,这样就不会随着用户旋转设备而更改了(”unspecified”设置除外)。
————————————————
参考文章:
https://blog.csdn.net/luoyayun361/article/details/72993841
http://www.kokojia.com/article/17626.html
https://www.cnblogs.com/warmSnowFY/p/9542376.html