android之蓝牙操作(二)
1、修改本蓝牙设备的可见性
2、扫描周围可用蓝牙设备
步骤:
1、在androidManifest.xml中添加以下代码
<uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
2、在布局文件main.xml中添加两个按钮
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/discoverId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="设置可见性" /> <Button android:id="@+id/scanId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="开始扫描" /> </LinearLayout>
3、Activity文件
import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestBluetooth02Activity extends Activity { /** Called when the activity is first created. */ private Button discoverButton = null; private Button scanButton = null; private BluetoothReceiver bluetoothReceiver = null; private BluetoothAdapter bluetoothAdapter = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); discoverButton = (Button)findViewById(R.id.discoverId); discoverButton.setOnClickListener(new DiscoverButtonListener()); //创建一个IntentFilter对象,将其action制定为BluetoothDevice.ACTION_FOUND IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND); //生成一个BluetoothReceive对象 bluetoothReceiver = new BluetoothReceiver(); //注册广播接收器 registerReceiver(bluetoothReceiver,intentFilter); bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); scanButton = (Button)findViewById(R.id.scanId); scanButton.setOnClickListener(new ScanButtonListener()); } private class DiscoverButtonListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub //创建一个Intent对象,并惊奇Action的值设置为BluetoothAdapter.ACTION_REQEST_DISCOVERABLE Intent discoverIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); //将一个键值对放在Intent对象中,主要用于指定可见状态的持续时间 discoverIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 500); startActivity(discoverIntent); } } private class BluetoothReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String action = intent.getAction(); if (BluetoothDevice.ACTION_FOUND.equals(action)) { //可以从收到的Intent对象当中,将代表远程的蓝牙适配器的对象取出 BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); System.out.println(device.getAddress()); } } } private class ScanButtonListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub bluetoothAdapter.startDiscovery(); } } /* protected void onDestroy { unregisterReceiver(bluetoothReceiver); super.onDestroy(); }*/ }
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28