android蓝牙开发入门到精通1---蓝牙基础
16lz
2021-01-23
1,要使用蓝牙,首先要增加权限
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
2,创建蓝牙控制类
package com.win16.bluetoothclass2;import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.content.Intent;/** *蓝牙控制 * Created by huwenbao on 2015/5/26. */public class BlueToothController { private BluetoothAdapter mAdapter; public BlueToothController() { mAdapter = BluetoothAdapter.getDefaultAdapter(); } /** * 是否支持蓝牙 * @return true 支持, false 不支持 */ public boolean isSupportBlueTooth() { if( mAdapter != null ){ return true; } else { return false; } } /** *获取当前蓝牙是否可用 * @return true 可用,false 不可用 */ public boolean getBlueToothStatus() { assert (mAdapter != null); return mAdapter.isEnabled(); } /** *打开蓝牙 * @param activity * @param requestCode */ public void turnOnBlueTooth(Activity activity, int requestCode) { Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); activity.startActivityForResult(intent, requestCode);// mAdapter.enable(); } /** * 关闭蓝牙 */ public void turnOffBlueTooth() { mAdapter.disable(); }}
3,界面展示
package com.win16.bluetoothclass2;import android.bluetooth.BluetoothAdapter;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Toast;public class MainActivity extends ActionBarActivity { public static final int REQUEST_CODE = 0; private BlueToothController mController = new BlueToothController(); private Toast mToast; /** * 监听蓝牙开关的广播 */ private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,-1); switch (state) { case BluetoothAdapter.STATE_OFF: showToast("STATE_OFF"); break; case BluetoothAdapter.STATE_ON: showToast("STATE_ON"); break; case BluetoothAdapter.STATE_TURNING_ON: showToast("STATE_TURNING_ON"); break; case BluetoothAdapter.STATE_TURNING_OFF: showToast("STATE_TURNING_OFF"); break; default: showToast("Unkown STATE"); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(receiver, filter); } @Override protected void onDestroy() { unregisterReceiver(receiver); super.onDestroy(); } public void isSupportBlueTooth(View view) { boolean ret = mController.isSupportBlueTooth(); showToast("support Bluetooth? " + ret); } public void isBlueToothEnable(View view) { boolean ret = mController.getBlueToothStatus(); showToast("Bluetooth enable?" + ret); } public void requestTurnOnBlueTooth(View view) { mController.turnOnBlueTooth(this, REQUEST_CODE); } public void turnOffBlueTooth(View view) { mController.turnOffBlueTooth(); } private void showToast(String text) { if( mToast == null) { mToast = Toast.makeText(this, text, Toast.LENGTH_SHORT); } else { mToast.setText(text); } mToast.show(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //当发起请求蓝牙打开事件时,会告诉你用户选择的结果 if( resultCode == RESULT_OK) { showToast("打开成功"); } else { showToast("打开失败"); } }}
4,界面布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/support_bluetooth" android:id="@+id/is_support_blue_tooth" android:onClick="isSupportBlueTooth" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/is_turn_on" android:id="@+id/is_blue_tooth_enable" android:onClick="isBlueToothEnable" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/turn_on" android:id="@+id/turn_on_blue_tooth" android:onClick="requestTurnOnBlueTooth" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/turn_off" android:id="@+id/turn_off_blue_tooth" android:onClick="turnOffBlueTooth" /></LinearLayout>
下载地址
http://download.csdn.net/detail/eandroidhu/9433844
更多相关文章
- Android右滑返回上一个界面的实现方法
- Android 蓝牙开发 基础
- Android 简单EventBus登录界面与传值(粘性事件)
- 打开app弹出欢迎界面,然后自动跳转到主界面
- [Android]判断当前界面是否是桌面
- Android studio跳转界面
- Android:程序跳过登录界面直接进入主界面(自动登录)
- Android中蓝牙的简单使用
- 【Android】首次进入应用时加载引导界面