资源简介
手机蓝牙 控制继电器,修改后可以作为,手机控制单片机小车
代码片段和文件信息
package edu.stanford.mobisocial.bluetooth;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.UUID;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
import android.os.ParcelUuid;
import android.os.RemoteException;
import android.util.Log;
public class InsecureBluetooth {
static private class InUse extends RuntimeException {
}
public static BluetoothServerSocket listenUsingRfcommWithServiceRecord(BluetoothAdapter adapter String name UUID uuid boolean encrypt) throws IOException {
try {
Class c_rfcomm_channel_picker = null;
Class[] children = BluetoothAdapter.class.getDeclaredClasses();
for(Class c : children) {
Log.e(“TO“ “class “ + c.getCanonicalName());
if(c.getCanonicalName().equals(BluetoothAdapter.class.getName() + “.RfcommChannelPicker“)) {
c_rfcomm_channel_picker = c;
break;
}
}
if(c_rfcomm_channel_picker == null)
throw new RuntimeException(“can‘t find the rfcomm channel picker class“);
Constructor constructor = c_rfcomm_channel_picker.getDeclaredConstructor(UUID.class);
if(constructor == null)
throw new RuntimeException(“can‘t find the constructor for rfcomm channel picker“);
object rfcomm_channel_picker = constructor.newInstance(new object[] {uuid});
Method m_next_channel = c_rfcomm_channel_picker.getDeclaredMethod(“nextChannel“ new Class[] {});
m_next_channel.setAccessible(true);
BluetoothServerSocket socket = null;
int channel;
int errno;
while (true) {
channel = (Integer)m_next_channel.invoke(rfcomm_channel_picker new object[] {});
if (channel == -1) {
throw new IOException(“No available channels“);
}
try {
socket = listenUsingRfcomm(channel encrypt);
break;
} catch(InUse e) {
continue;
}
}
Field f_internal_service = adapter.getClass().getDeclaredField(“mService“);
f_internal_service.setAccessible(true);
object internal_service = f_internal_service.get(adapter);
Method m_add_rfcomm_service_record = internal_service.getClass().getDeclaredMethod(“addRfcommServiceRecord“ new Class[] {String.class ParcelUuid.class int.class IBinder.class});
m_add_rfcomm_service_record.setAccessible(true);
int handle = (Integer)m_add_rfcomm_service_record.invoke(internal_service new object[] { name new ParcelUuid(uuid) channel new Binder() } );
if (handle == -1) {
try {
socket.close();
} catch (IOException e) {}
throw new IOException(“Not able to register SDP record for “ + name);
}
Field f_intern
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-08-27 21:51 testBlueTooth\
文件 475 2014-08-27 21:51 testBlueTooth\.classpath
文件 849 2010-11-21 17:17 testBlueTooth\.project
目录 0 2014-08-27 21:51 testBlueTooth\.settings\
文件 177 2014-08-27 21:51 testBlueTooth\.settings\org.eclipse.jdt.core.prefs
文件 875 2012-10-13 16:25 testBlueTooth\AndroidManifest.xm
目录 0 2014-08-28 16:50 testBlueTooth\bin\
文件 875 2014-08-28 15:20 testBlueTooth\bin\AndroidManifest.xm
目录 0 2014-08-28 15:20 testBlueTooth\bin\classes\
文件 25068 2014-08-28 16:50 testBlueTooth\bin\classes.dex
目录 0 2014-08-28 15:20 testBlueTooth\bin\classes\com\
目录 0 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\
文件 343 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\BuildConfig.class
文件 337 2014-08-28 15:49 testBlueTooth\bin\classes\com\testBlueTooth\R$attr.class
文件 397 2014-08-28 15:49 testBlueTooth\bin\classes\com\testBlueTooth\R$drawable.class
文件 1472 2014-08-28 15:49 testBlueTooth\bin\classes\com\testBlueTooth\R$id.class
文件 427 2014-08-28 15:49 testBlueTooth\bin\classes\com\testBlueTooth\R$layout.class
文件 424 2014-08-28 15:49 testBlueTooth\bin\classes\com\testBlueTooth\R$string.class
文件 524 2014-08-28 15:49 testBlueTooth\bin\classes\com\testBlueTooth\R.class
文件 2684 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\RelayControl$ClickEvent.class
文件 3014 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\RelayControl$ConnectedThread$ReadRunnable.class
文件 1941 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\RelayControl$ConnectedThread.class
文件 1330 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\RelayControl$MyHandler.class
文件 6578 2014-08-28 15:20 testBlueTooth\bin\classes\com\testBlueTooth\RelayControl.class
文件 2558 2014-08-28 16:50 testBlueTooth\bin\classes\com\testBlueTooth\testBlueTooth$1.class
文件 2685 2014-08-28 16:50 testBlueTooth\bin\classes\com\testBlueTooth\testBlueTooth$AcceptThread.class
文件 3311 2014-08-28 16:50 testBlueTooth\bin\classes\com\testBlueTooth\testBlueTooth$ClickEvent.class
文件 4542 2014-08-28 16:50 testBlueTooth\bin\classes\com\testBlueTooth\testBlueTooth$ItemClickEvent.class
文件 6073 2014-08-28 16:50 testBlueTooth\bin\classes\com\testBlueTooth\testBlueTooth.class
目录 0 2014-08-28 16:48 testBlueTooth\bin\dexedLibs\
文件 910 2014-08-28 16:48 testBlueTooth\bin\dexedLibs\annotations-2b9df868312cd1defc406a7a5f598252.jar
............此处省略32个文件信息
相关资源
- 一个简单财务管理系统有源码
- android 日历源码
- Java零基础开发桌球小游戏项目(完整
- Java写的木马程序源码,仅供学习参考
- java语言仿真CPU5级流水线源码+报告
- 一个java编写的简易计算器源码 实现简
- java源代码:日程管理小程序
- JSP超市仓库管理程序源码
- Java随机点名源码
- 电信SMGP开发包,含文档,工具jar包及
- jsp电影网站
- 蓝牙通讯APP源码,控制
- JAVA 文件加密解密
- java socket 大文件传输,快速传输包的
- 出租车管理系统毕业论文+源码
- 学生社团管理系统40644
- 计算机图形学全部源码JAVA版by中南民
- IMToken核心源码-Android
- kmeans中文文本聚类java源码包括对文本
- commons-lang3-3.1源码包
- 银行项目java源码
- Android 获取Gps信息的程序源码
- 解析AndroidManifest源码
- 深入理解Java虚拟机:JVM高级特性与最
- JSP实用教程第二版耿祥义、张跃平完
- 支持输入筛选的类spinner实现AndroidSt
- 基于Java的贪吃蛇游戏完整毕业论文匹
- Java基于JavafxGUI界面家庭消费账单管理
- 网上招聘系统的设计与实现JSP源代码
- B+树的创建java源码
评论
共有 条评论