[很是化解] 安卓6.0权限难点造成老蓝牙5.0程序出现很是化解办法:Need ACCESS_COA奥迪Q7SE_LOCATION or ACCESS_FINE_LOCATION permission…

 

一、问题:

  从前写的一款安卓4.4的应用程序,用来一而再BluetoothBLE,而近年来拿出来用新的AS编写翻译(此时SDK为6.0,手提式有线电话机也是6.0)应用程序并不可能检索到蓝牙5.0,查看log总是报权限错误:

Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission…

 

二 、消除进程:

  不过,笔者把相应的权柄出席manifest.xml照旧报这几个荒唐,最后查到这么些材料:

  http://www.open-open.com/lib/view/open1445671646351.html

图片 1

 

  表达作者用6.0编写翻译大概是难点所在,看到下边同盟旧版本,就SDK
Manage下载个5.0SDK,

 

图片 2

 

  并修改build.gradle文件:

 

图片 3

 

  编写翻译之后运转没有报错,可是还是搜索不到Bluetooth配备,然后又搜到6.0种类上的Bluetooth劳务要和地点服务都打开才能寻找

  于是打开手提式有线电话机上的地方服务,就能够寻找到了!

 

三、反思

  和3个脚下正值搞安卓的伙伴研究,他“马后炮”地说6.0权力和以前的很不雷同~然后自身又搜了一篇关于6.0权力的作品——

  http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/

 

图片 4

  

  印证了事先的想法。确实安卓的变动性不慢,小编是有时候玩玩才搞两下,平常不紧跟安卓技术前卫,所以这种奇葩的难点会让我们那么些对安卓技巧忽冷忽热的人很措不及防。网上碰着相同问题的人也很多,不过解答都很浅(只让你在manifest中加权限),因而那里把该化解办法分享下,仅供后西洋参考!

  

 

相关文章