有一个很疑惑的点,我设置了大于29的版本,也就是安卓10以上
android10以上有个规定mediaprojection录屏必须使用前台服务。
如果在代码里没有使用的话它会报错。
但是我把sdk设置小于29的版本,运行在Android10以上的平板上
且不设置前台服务也可以正常使用录屏
这个平板是鸿蒙系统,studio上显示的是android11
您的每一个用心回答,都会让这个世界变得更美好一些!
官方文档嘛,只能做参考,理论上官方的东西只对pixel系列的手机有效,也就是Google自己搞的手机有效,因为他跑的就是AOSP的东西,加了自己的一些软件和gms,这个影响。
你的平板显示是鸿蒙Android11,也许鸿蒙修改了这个录屏,不需要什么前台服务器了,也许其他平板会出现奔溃,因为其他厂遵守了约定,没有对这个api进行改动。
到了第三方厂商的时候,你已经不知道他修改了什么代码了,这个东西还能不能用了,这个我们开发者是不知道的,只能暴力试错。也就是碎片化问题。大家都能改代码,至于能不能正常跑,你懂的。
你贴上你的minSdk,targetSdk,compileSdk。
或者你理解一下这几个配置的作用是啥。
minsdk是软件的最低适配版本,compilesdk是软件开发调试阶段的版本,targetsdk是软件最终的应用版本,一般关系是minsdk<=targetsdk<=compilesdk,通常是minsdk<targetsdk=compilesdk
官方文档嘛,只能做参考,理论上官方的东西只对pixel系列的手机有效,也就是Google自己搞的手机有效,因为他跑的就是AOSP的东西,加了自己的一些软件和gms,这个影响。
你的平板显示是鸿蒙Android11,也许鸿蒙修改了这个录屏,不需要什么前台服务器了,也许其他平板会出现奔溃,因为其他厂遵守了约定,没有对这个api进行改动。
到了第三方厂商的时候,你已经不知道他修改了什么代码了,这个东西还能不能用了,这个我们开发者是不知道的,只能暴力试错。也就是碎片化问题。大家都能改代码,至于能不能正常跑,你懂的。
你贴上你的minSdk,targetSdk,compileSdk。
或者你理解一下这几个配置的作用是啥。
minsdk是软件的最低适配版本,compilesdk是软件开发调试阶段的版本,targetsdk是软件最终的应用版本,一般关系是minsdk<=targetsdk<=compilesdk,通常是minsdk<targetsdk=compilesdk