有木有人啊求APP信息app分享文案权限的设置方法!!

Android蓝牙操作 - 我的博客 - ITeye技术网站
蓝牙是一种支持设备短距离传输数据的无线技术。android在2.0以后提供了这方面的支持。
从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器):
1.设置权限
在manifest中配置
&uses-permission android:name="android.permission.BLUETOOTH"/&
&uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/&
2.启动蓝牙
首先要查看本机是否支持蓝牙,获取BluetoothAdapter蓝牙适配器对象
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter == null){
//表明此手机不支持蓝牙
if(!mBluetoothAdapter.isEnabled()){ //蓝牙未开启,则开启蓝牙
Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableIntent, REQUEST_ENABLE_BT);
public void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == REQUEST_ENABLE_BT){
if(requestCode == RESULT_OK){
//蓝牙已经开启
3。发现蓝牙设备
这里可以细分为几个方面
(1)使本机蓝牙处于可见(即处于易被搜索到状态),便于其他设备发现本机蓝牙
//使本机蓝牙在300秒内可被搜索
private void ensureDiscoverable() {
if (mBluetoothAdapter.getScanMode() !=
BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);
(2)查找已经配对的蓝牙设备,即以前已经配对过的设备
Set&BluetoothDevice& pairedDevices = mBluetoothAdapter.getBondedDevices();
if (pairedDevices.size() & 0) {
findViewById(R.id.title_paired_devices).setVisibility(View.VISIBLE);
for (BluetoothDevice device : pairedDevices) {
//device.getName() +" "+ device.getAddress());
mPairedDevicesArrayAdapter.add("没有找到已匹对的设备");
(3)通过mBluetoothAdapter.startDiscovery();搜索设备,要获得此搜索的结果需要注册
一个BroadcastReceiver来获取。先注册再获取信息,然后处理
//注册,当一个设备被发现时调用onReceive
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
this.registerReceiver(mReceiver, filter);
//当搜索结束后调用onReceive
filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
this.registerReceiver(mReceiver, filter);
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)){
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// 已经配对的则跳过
if (device.getBondState() != BluetoothDevice.BOND_BONDED) {
mNewDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
//保存设备地址与名字
}else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
//搜索结束
if (mNewDevicesArrayAdapter.getCount() == 0) {
mNewDevicesArrayAdapter.add("没有搜索到设备");
4.建立连接
查找到设备 后,则需要建立本机与其他设备之间的连接。
一般用本机搜索其他蓝牙设备时,本机可以作为一个服务端,接收其他设备的连接。
启动一个服务器端的线程,死循环等待客户端的连接,这与ServerSocket极为相似。
这个线程在准备连接之前启动
//UUID可以看做一个端口号
private static final UUID MY_UUID =
UUID.fromString("fa87c0d0-afac-11de-8a39-a66");
//像一个服务器一样时刻监听是否有连接建立
private class AcceptThread extends Thread{
private BluetoothServerSocket serverS
public AcceptThread(boolean secure){
BluetoothServerSocket temp =
temp = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(
NAME_INSECURE, MY_UUID);
} catch (IOException e) {
Log.e("app", "listen() failed", e);
serverSocket =
public void run(){
BluetoothSocket socket=
while(true){
socket = serverSocket.accept();
} catch (IOException e) {
Log.e("app", "accept() failed", e);
if(socket!=null){
//此时可以新建一个数据交换线程,把此socket传进去
//取消监听
public void cancel(){
serverSocket.close();
} catch (IOException e) {
Log.e("app", "Socket Type" + socketType + "close() of server failed", e);
搜索到设备后可以获取设备的地址,通过此地址获取一个BluetoothDeviced对象,可以看做客户端,通过此对象device.createRfcommSocketToServiceRecord(MY_UUID);同一个UUID可与服务器建立连接获取另一个socket对象,由此服务端与客户端各有一个socket对象,此时
他们可以互相交换数据了。
创立客户端socket可建立线程
//另一个设备去连接本机,相当于客户端
private class ConnectThread extends Thread{
private BluetoothS
private BluetoothD
public ConnectThread(BluetoothDevice device,boolean secure){
this.device =
BluetoothSocket tmp =
tmp = device.createRfcommSocketToServiceRecord(MY_UUID_SECURE);
} catch (IOException e) {
Log.e("app", "create() failed", e);
public void run(){
mBluetoothAdapter.cancelDiscovery(); //取消设备查找
socket.connect();
} catch (IOException e) {
socket.close();
} catch (IOException e1) {
Log.e("app", "unable to close() "+
" socket during connection failure", e1);
connetionFailed(); //连接失败
//此时可以新建一个数据交换线程,把此socket传进去
public void cancel() {
socket.close();
} catch (IOException e) {
Log.e("app", "close() of connect
socket failed", e);
5.建立数据通信线程,进行读取数据
//建立连接后,进行数据通信的线程
private class ConnectedThread extends Thread{
private BluetoothS
private InputStream inS
private OutputStream outS
public ConnectedThread(BluetoothSocket socket){
this.socket =
//获得输入输出流
inStream = socket.getInputStream();
outStream = socket.getOutputStream();
} catch (IOException e) {
Log.e("app", "temp sockets not created", e);
public void run(){
byte[] buff = new byte[1024];
int len=0;
//读数据需不断监听,写不需要
while(true){
len = inStream.read(buff);
//把读取到的数据发送给UI进行显示
Message msg = handler.obtainMessage(BluetoothChat.MESSAGE_READ,
len, -1, buff);
msg.sendToTarget();
} catch (IOException e) {
Log.e("app", "disconnected", e);
connectionLost(); //失去连接
start(); //重新启动服务器
public void write(byte[] buffer) {
outStream.write(buffer);
// Share the sent message back to the UI Activity
handler.obtainMessage(BluetoothChat.MESSAGE_WRITE, -1, -1, buffer)
.sendToTarget();
} catch (IOException e) {
Log.e("app", "Exception during write", e);
public void cancel() {
socket.close();
} catch (IOException e) {
Log.e("app", "close() of connect socket failed", e);
到这里,蓝牙通信的基本操作已经全部完成。
浏览 19685
搜索设备的时候OnReceive方法是怎么保证调用的,在哪里调用呢?怎么保证是搜索到一个设备就调用一次,而不是只是搜索到第一个设备时被调用一次呢?求解!你注册ACTION_FOUND广播接受者后,当有设备发现时OnReceive会由系统进行调用。每次搜索到一个设备此方法就会被调用一次。查找设备的逻辑处理由系统完成,你注册监听,它就会把这个信息告诉你。
zhouYunan2010
浏览: 73687 次
来自: 湖南
写得挺不错,有点笔误:getAnimationValue应为g ...
写的很清晰
代码能否给我参考一下,感激不尽purplefall@163.c ...
我发现一个问题,ArrayList和LinkedList在wr ...
很好,能否分享下源码求教!已经ROOT成功,如何赋予其他APP权限_中兴u930吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:23,605贴子:
求教!已经ROOT成功,如何赋予其他APP权限收藏
RT......已经ROOT成功了,桌面也已经出现了RE管理器&超级用户,但是用其他软件时,还是提示没有ROOT的权限,请教下如何提升其他APP的权限,谢谢!!!
顶啊,大神们
还有一样,那个APP是优化大师,是在ROOT之前装的,请问下这样会有影响吗?
打开软件,系统会询问你
点进re,看有没有提示没有的话试试删定制软件,删不动说明你没有root成功
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或华为荣耀6的手机用哪个APP软件才能成功获取root权限呀?求大神解答_百度知道
华为荣耀6的手机用哪个APP软件才能成功获取root权限呀?求大神解答
提问者采纳
电脑版360一键root
可以么,不会变砖吧,酷派手机都变砖了
变砖怕什么,刷就好了
不是吧,你试过成功么
我用好几部智能机了,都用它刷的,
恩,那你现在用的是?
额~~~不是华为呀,你见过有华为成功的么
有啊,我什么都会刷,砖机都能救活还搞不定它
手机变砖了我怎么找你
我的酷派就是用电脑版360变砖的
变砖恢复出厂,不行就再刷机,也不止它能刷,还很多软件,一般的刷机包中有root,提出来就可以了,也能直接刷带加了权限的刷机包
安智论坛大把的
可以变砖了开机都不了,怎么恢复出厂设置呀
连电脑用刷机精灵,也可以进recvoery双清
嗯嗯,知道了谢谢
用fastboot模式能连接电脑
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
按默认排序
其他4条回答
手机root1,手机一旦root,新手机就没法保修了2,电脑下载:百度一键root,刷机精灵,360超害粻哆饺馨祭鹅熄珐陇级root,腾讯手机管家,卓大师,等等软件,依次使用,来获取手机的权限,这些软件,也有手机客户端,只是电脑成功率高一点,操作简单,成功率高!但不能保证没一款手机都能成功root!3,电脑上安装了这软件,就可以把手机连接电脑上了(可以用360手机助手给电脑安装手机的驱动),连接上,打开软件,就可以对手机进行root了!4,手机root成功后,重启手机,应用里会多出一个超级权限的图标,也可以用360或者lbe来测试手机的权限!
这样手机不会变砖吧?以前的酷派手机都变砖了
选择正确的机型,按照正确的步骤,应该不会的
或者你百度一下荣耀6,成功root的,用什么软件
奇兔刷机可以,但是有点害怕变砖了
无论root,还是刷机,都有风险啊,只是一般都不会有事的
亲,可是已经有一个手机变砖了
理解你的心情,我玩手机也是的,最怕变砖,
可以去论坛里看看教程,比如机锋论坛
安极网论坛
真的,上次那个用了两天,就变砖了
嗯嗯,谢谢
看看里面有没有荣耀9
很高兴帮到你
觉得电脑版的360可以么
最好找到论坛看看
有人说可以,但是我的酷派手机就是用电脑版360变砖的
变砖,不能去手机点强制刷机吗
人家说国产机不做
你说的这个手机想要获取手机的ROOT权限你就可以用PC版应用宝。这个软件很好用的,我的手机就是用的这个软件啦。这个软件的ROOT功能还是很强大的,你的手机用这个肯定没问题。你就先在电脑上安这个软件,打开手机的USB调试,连接之后,在我的手机选项里面找到工具箱,在工具箱里面你可以看到一键ROOT。按照步骤完成就可以啦。
不用谢啦。
试试神奇小子root或者root大师
下载了不就知道了,都是一键root型的
你说的root大师是百度的么,这个试过,不行也
百度一键ROOT
这个不得,一直挨重启
只要获取了就可以把它卸载了,ROOT还会有的
一直获取不了呀,在获取过程就自动重启了
。。。重启之后你再点开看看,是否获取
没有获取。这个在提问之前刚刚试过
那用360键ROOT把
这个也用过了。获取成功了,但是重启手机后就没有了
我也想这么说
root权限的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁分享关于解决APP闪退问题与手机权限获取之间关系的分析 - 综合讨论 - 乐玩家社区
分享关于解决APP闪退问题与手机权限获取之间关系的分析
, , 08-02||
楼主,你安装应用的时候没注意看权限设置吗?权限设置很重要
中级玩家(Lv.2), 积分 1054, 距离下一级还需 146 积分
初级玩家(Lv.2), 积分 75, 距离下一级还需 5 积分
cosplayking 发表于
楼主,你安装应用的时候没注意看权限设置吗?权限设置很重要
注意啊,我恰恰是因为特别注意软件权限设置,因为我认为手机淘宝获取手机位置没必要,至少我是用不上;移动客户端获取手机位置也没必要;手机QQ我也不想玩寻找附近的人。所以位置权限都给取消了,这才出现了闪退的问题。
不能所有的权限都锁死了,锁死的话就会出现打不开的情况,我前几天安装折800的时候就是全部权限都锁死,直接就提示说无法打开,晕啊
初级玩家(Lv.2), 积分 75, 距离下一级还需 5 积分
cosplayking 发表于
不能所有的权限都锁死了,锁死的话就会出现打不开的情况,我前几天安装折800的时候就是全部权限都锁死,直 ...
我试过,有些APP可以禁止全部权限,有些必须赋予某些特定权限,得看具体情况吧。我写这篇帖子的目的也是因为之前遇到APP闪退问题时没有想过是权限获取问题导致的,就没往那方面想过,一直以为是系统与APP的兼容问题,写出来希望给遇到类似闪退问题的朋友提供一点思路,估计不会只有我一个人才知道吧。
您需要登录后才可以回帖 |
与数百万小伙伴尽情玩耍,还能吐槽联想产品经理、调侃官方攻城狮!我是乐玩家,你呢?
线下会参加乐玩家线下活动的纪念勋章
最新版本:VIBEUI_V2.0_1451_ST
更新日期:
最新版本:VIBEUI_V2.0_1501_DEV
更新日期:
关注VIBE UI
微信扫一扫有没有可以设置权限的企业管理软件?_百度知道
有没有可以设置权限的企业管理软件?
管理软件里面有带着记账管理的吗?这样的软件有没有权限管理?不能越权查看和操作,大局由我自己掌控,我要拥有所有的权限、企业管理软件我需要有能管理客户、员工、产品和库存的。
提问者采纳
权限设置的确是管理软件的重要部分,防止下级的越权操作,防止管理的混乱和不可控。那么《《金智企业综合管理系统》》就充分考虑到这个方面,在权限设置方面有完善的操作流程。员工只能查看和操作本人的相关内容,部门经理只能查看和操作本部门及下级部门的业务,而企业的老板却具有掌控大局的管理员权限,查看到所有想看见的公司内容。并且我们的软件中,有效的将功能与简单的记账软件所融合。何谓记账软件呢?它包含了记账、看帐、分析帐等功能模块,有整体的趋势统计,流水账目一清二楚。与企业管理软件的有效融合又将其功能更好的延展开来。
其他类似问题
企业管理软件的相关知识
其他5条回答
顺和达ERP E4
一般网络版的企业管理软件,都考虑到了权限的分配问题。
楼主的要求一般网络版的管理软件都可以解决。就是权限分配管理的问题,起到监控与掌控的作用。推荐给一款象过河进销存财务管理软件,可以到象过河官方网站下载免费的试用看看。
有啊,思讯管理软件就可以做!我就是做这软件的~你所要的所有功能里面全都有
你不信的话可去思讯的官网看看,里面肯定有合适你的!
请试用冲谷进销存企业版,能够提供你所需功能。点击我的用户名查看我的联系方式,或在百度上搜索“冲谷进销存”即可。
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 android app 权限 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信