获取APK的targetSdkVersion及minSdkVersion
1.使用aapt工具:
aapt list -a app.apk | grep SdkVersion显示的结果为16进制
或:
aapt dump badging app.apk|grep Version
2.使用apktool:
java -jar apktool.jar d app.apk
然后查看生成的apktool.yml文件的sdkInfo字段即可
Cocos安卓下显示状态栏
1.修改AndroidManifest.xml
将:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"改为:
android:theme="@android:style/Theme.NoTitleBar"
2.修改onCreate中
加入:
getWindow().addFlags(WindowManager.LayoutParams.FLAGFORCENOTFULLSCREEN|WindowManager.LayoutParams.FLAGTRANSLUCENT_STATUS);
注释掉:
//getWindow().setFlags(WindowManager.LayoutParams.FLAGFULLSCREEN, WindowManager.LayoutParams.FLAGFULLSCREEN);
注意!如果用以上代码设置了全屏一定要注释掉,不然会和显示状态栏冲突,导致在使用编辑框调出键盘再收起时出现布局没有下移的问题
3.使用View类提供的setSystemUiVisibility对状态栏做动态显示或隐藏的操作
常用属性标志:
SYSTEMUIFLAGLOWPROFILE:状态栏处于低能显示状态,一些图标显示会被隐藏
SYSTEMUIFLAGHIDENAVIGATION:隐藏虚拟按键(导航栏),有些手机会用虚拟按键来代替物理按键,用户点击屏幕会显示导航栏
SYSTEMUIFLAG_FULLSCREEN:Activity全屏显示,隐藏状态栏
SYSTEMUIFLAGLAYOUTHIDE_NAVIGATION:拓展布局到导航栏后面
SYSTEMUIFLAGLAYOUTFULLSCREEN:拓展布局到状态栏后面
SYSTEMUIFLAGLAYOUTSTABLE:稳定的布局,不会随系统栏的隐藏、显示而变化
SYSTEMUIFLAG_IMMERSIVE:沉浸模式,用户可以交互的界面
SYSTEMUIFLAGIMMERSIVESTICKY:沉浸模式,用户可以交互的界面。同时,用户上下拉系统栏时,会自动隐藏系统栏
SYSTEMUIFLAG_VISIBLE:显示状态栏,Activity不全屏显示,恢复到有状态的正常情况
INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示
显示全屏:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
不显示全屏:
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION );