返回信息流第一次用反射,打得日志稍微多点,却依旧找不到问题,跪求大神们指条明路。不甚感激。
private void setDiscoverableTimeout(int timeout){
try {
System.out.println("refelect method called"+timeout); //日志正常
Method setDiscoverableTimeout=BluetoothAdapter.class.getMethod("setDiscoverableTimeout",int.class);
System.out.println("test"+setDiscoverableTimeout.getName()); //日志正常
// setDiscoverableTimeout.setAccessible(true);
System.out.println("refelect setDiscoverableTimeout called found");
//这块是将设备设置为一直可见
//Method setScanMode=BluetoothAdapter.class.getMethod("setScanMode",int.class,int.class);
// setScanMode.setAccessible(true);
// System.out.println("refelect setScanMode called found");
Object returnvalue=setDiscoverableTimeout.invoke(bluetooth,timeout);
// setScanMode.invoke(bluetooth,BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE,timeout);
System.out.println(returnvalue==null);//心塞,这块打得是true
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
Log.e(TAG,"Failed to find setDiscoverableTimeout");
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
Log.e(TAG,"Illegal to acess setDiscoverableTimeout");
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
Log.e(TAG,"Illegal argument for method setDiscoverableTimeout");
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
Log.e(TAG,"Invocation exception for method setDiscoverableTimeout");
e.printStackTrace();
}
}
这是一条镜像帖。来源:北邮人论坛 / java / #47295同步于 2016/1/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题]不报错的bug:用反射调用蓝牙的隐藏API
Drizzle
2016/1/14镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。