<uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" />
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.System.canWrite(HomeActivity.this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,
Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, 200);
} else {
// 如果有权限做些什么
ThreadPoolManager.getInstance().execute(() -> LogUtils.i("-----", NetworkUtils.isAvailable(), NetworkUtils.isConnected()));
}
}
public void setEthernet2(int type) {
Log.i("调试信息", "setEthernet2: " + type);
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder builder;
if (type == 0) {// 设置网络类型为wifi
builder = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
} else if (type == 1) {// 设置网络类型为有线
builder = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET);
} else {// 设置网络类型为移动数据网络
builder = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
}
connectivityManager.requestNetwork(builder.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
connectivityManager.bindProcessToNetwork(network);
} else {
ConnectivityManager.setProcessDefaultNetwork(network);
}
}
});
}
Android 设置期望网络选择 wifi 移动流量 有线
原创
©著作权归作者所有:来自51CTO博客作者痛而不觉的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi
下一篇:html中怎样在列表追加item
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章