下面列出了怎么用android.net.IConnectivityManager的API类实例代码及写法,或者点击链接到github查看源代码。
static boolean setWifiAP(boolean enable, boolean doNotChangeWifi) {
//PPApplication.logE("CmdWifiAP.setWifiAP", "START enable="+enable);
//PPApplication.logE("CmdWifiAP.setWifiAP", "START doNotChangeWifi="+doNotChangeWifi);
final String packageName = PPApplication.PACKAGE_NAME;
try {
IConnectivityManager connectivityAdapter = IConnectivityManager.Stub.asInterface(ServiceManager.getService("connectivity")); // service list | grep IConnectivityManager
//PPApplication.logE("CmdWifiAP.setWifiAP", "connectivityAdapter="+connectivityAdapter);
if (enable) {
if (!doNotChangeWifi) {
IWifiManager wifiAdapter = IWifiManager.Stub.asInterface(ServiceManager.getService("wifi")); // service list | grep IWifiManager
//PPApplication.logE("CmdWifiAP.setWifiAP", "wifiAdapter="+wifiAdapter);
int wifiState = wifiAdapter.getWifiEnabledState();
boolean isWifiEnabled = ((wifiState == WifiManager.WIFI_STATE_ENABLED) || (wifiState == WifiManager.WIFI_STATE_ENABLING));
//PPApplication.logE("CmdWifiAP.setWifiAP", "isWifiEnabled="+isWifiEnabled);
if (isWifiEnabled)
wifiAdapter.setWifiEnabled(packageName, false);
}
ResultReceiver dummyResultReceiver = new ResultReceiver(null);
connectivityAdapter.startTethering(0, dummyResultReceiver, false, packageName);
} else {
connectivityAdapter.stopTethering(0, packageName);
}
//PPApplication.logE("CmdWifiAP.setWifiAP", "END=");
return true;
} catch (java.lang.SecurityException ee) {
//Log.e("CmdWifiAP.setWifiAP", Log.getStackTraceString(ee));
//PPApplication.logToCrashlytics("E/CmdWifiAP.setWifiAP: " + Log.getStackTraceString(ee));
//PPApplication.recordException(e);
//PPApplication.logE("CmdWifiAP.setWifiAP", Log.getStackTraceString(e));
return false;
} catch (Throwable e) {
//Log.e("CmdWifiAP.setWifiAP", Log.getStackTraceString(e));
PPApplication.recordException(e);
//PPApplication.logE("CmdWifiAP.setWifiAP", Log.getStackTraceString(e));
return false;
}
}
public Object createStaticService() {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
public Object createStaticService() {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
public Object createService(ContextImpl ctx) {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
public Object createService(ContextImpl ctx) {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
public Object createStaticService() {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
public Object createStaticService() {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
public Object createStaticService() {
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
}
@Override
public ConnectivityManager createService(Context context) throws ServiceNotFoundException {
IBinder b = ServiceManager.getServiceOrThrow(Context.CONNECTIVITY_SERVICE);
IConnectivityManager service = IConnectivityManager.Stub.asInterface(b);
return new ConnectivityManager(context, service);
}