【移动应用开发技术】Android 6.0中扫描不到Ble设备怎么办_第1页
【移动应用开发技术】Android 6.0中扫描不到Ble设备怎么办_第2页
【移动应用开发技术】Android 6.0中扫描不到Ble设备怎么办_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】Android6.0中扫描不到Ble设备怎么办

动态申请位置权限ACCESS_COARSE_LOCATION<uses-permission

android:name="android.permission.ACCESS_COARSE_LOCATION"/>然后在程序运行过程中进行申请private

static

final

int

REQUEST_CODE_ACCESS_COARSE_LOCATION

=

1;

...

if

(Build.VERSION.SDK_INT

>=

Build.VERSION_CODES.M)

{//如果

API

level

是大于等于

23(Android

6.0)

//判断是否具有权限

if

(ContextCompat.checkSelfPermission(this,

Manifest.permission.ACCESS_COARSE_LOCATION)

!=

PackageManager.PERMISSION_GRANTED)

{

//判断是否需要向用户解释为什么需要申请该权限

if

(ActivityCompat.shouldShowRequestPermissionRationale(this,

Manifest.permission.ACCESS_COARSE_LOCATION))

{

showToast("自Android

6.0开始需要打开位置权限才可以搜索到Ble设备");

}

//请求权限

ActivityCompat.requestPermissions(this,

new

String[]{Manifest.permission.ACCESS_COARSE_LOCATION},

REQUEST_CODE_ACCESS_COARSE_LOCATION);

}

}@Override

public

void

onRequestPermissionsResult(int

requestCode,

@NonNull

String[]

permissions,

@NonNull

int[]

grantResults)

{

if

(requestCode

==

REQUEST_CODE_ACCESS_COARSE_LOCATION)

{

if

(grantResults.length

>

0

&&

grantResults[0]

==

PackageManager.PERMISSION_GRANTED)

{

//用户允许改权限,0表示允许,-1表示拒绝

PERMISSION_GRANTED

=

0,

PERMISSION_DENIED

=

-1

//permission

was

granted,

yay!

Do

the

contacts-related

task

you

need

to

do.

//这里进行授权被允许的处理

}

else

{

//permission

denied,

boo!

Disable

the

functionality

that

depends

on

this

permission.

//这里进行权限被拒绝的处理

}

}

else

{

super.onRequestPermissionsResult(requestCode,

permissions,

grantResults);

}

}打开定位(Location)/**

*

Location

service

if

enable

*

*

@param

context

*

@return

location

is

enable

if

return

true,

otherwise

disable.

*/

public

static

final

boolean

isLocationEnable(Context

context)

{

LocationManager

locationManager

=

(LocationManager)

context.getSystemService(Context.LOCATION_SERVICE);

boolean

networkProvider

=

locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

boolean

gpsProvider

=

locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

if

(networkProvider

||

gpsProvider)

return

true;

return

false;

}private

static

final

int

REQUEST_CODE_LOCATION_SETTINGS

=

2;

...

private

void

setLocationService()

{

Intent

locationIntent

=

new

Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

this.startActivityForResult(locationIntent,

REQUEST_CODE_LOCATION_SETTINGS);

}进入定位设置界面,让用户自己选择是否打开定位。选择的结果获取:@Override

protected

void

onActivityResult(int

requestCode,

int

resultCode,

Intent

data)

{

if

(requestCode

==

REQUEST_CODE_LOCATION_SETTINGS)

{

if

(isLoca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论