公開されていないAPIなので、バージョンごとの互換性が失われる可能性が高いことに注意。
以下はUSBテザリングをONにする処理。
ConnectivityManager cm = (ConnectivityManager) getApplicationContext().getSystemService(CONNECTIVITY_SERVICE);
Class c = Class.forName(cm.getClass().getName());
Field f = c.getDeclaredField("mService");
f.setAccessible(true);
Object iconn = f.get(cm);
// Method: int tether(String iface)
Method method_tether = iconn.getClass().getMethod("tether", String.class);
Object ret = method_tether.invoke(iconn, "usb0");
// Returns ConnectivityManager.TETHER_ERROR_*
int e = ((Integer) ret).intValue();
0 件のコメント:
コメントを投稿