我正在开发Android应用程序。当Usb连接时,我需要以编程方式启用Usb网络共享。由于Android安全性,我无法在4.4版本中执行此操作。所以我下载了android 4.4源代码,对它做了一些修改。任何人都可以指导我怎么做?
答案 0 :(得分:0)
以下代码可以在4.0,4.1,4.2版本中正常运行,但在4.3和4.4版本中无法正常运行
try {
Class<?> classBluetoothPan = Class.forName(sClassName);
Constructor<?> ctor = classBluetoothPan.getDeclaredConstructor(Context.class, BluetoothProfile.ServiceListener.class);
ctor.setAccessible(true);
//Object instance = ctor.newInstance(getApplicationContext(), new BTPanServiceListener(getApplicationContext()));
Object instance = ctor.newInstance(this, new BTPanServiceListener(this));
// Set Tethering ON
Class[] paramSet = new Class[1];
paramSet[0] = boolean.class;
Method setTetheringOn = classBluetoothPan.getMethod("setBluetoothTethering", paramSet);
//Method setTetheringOn = classBluetoothPan.getDeclaredMethod("setBluetoothTethering", paramSet);
setTetheringOn.invoke(instance,true);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}