用程序直接连接和断掉网络,是否可行 如题,打个比方,现在网络没有连接,打开QQ,输入帐号和密码,点登录,然后网络自动连接,在点QQ的退出后,网络自动断开 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该可以,你调用配置网络的API不就行了~ HttpUrlConnection可以使用disconnect方法断开连接 而HttpClient使用HttpClient.getConnectionManager().shutdown();断开连接试下可以么 从技术来说是可行的,但是从应用来说是不太可能的,要是可以这样的话,你里边自动打开连接,人家的流量不到一天就被你搞完了,而且人家还不知道怎么用掉的,所以说从系统的角度来说我觉得Android不可能这样 呵呵,谢谢ANDY哥。你说的这种方式并不是达到在网络界面里设置网络的效果啊。效果是如在“无线和网络”里设置“WLAN”或“移动网络”,打了勾,我有代码就可以让其设置成不打勾 NewWork Setting 里面 Date enabled 勾上的时候,可以实现LZ想要的效果,通过代码控制网络的连接与断开,但是Date enabled 没有勾上,是不能实现的。like this: public void onSwitched(boolean enable) { boolean mobileDataAllowed = Settings.Secure.getInt( mActivity.getContentResolver(), "mobile_data", 1) == 1; if (enable && !mobileDataAllowed) { // cannot switch - system Mobile Data should be enabled first Toast.makeText(mActivity, R.string.txt_enable_data_access_first, Toast.LENGTH_LONG).show(); onSelected(0); // open system settings return; } boolean wifiConnected = mTelephonyManager.getWiFiInfo().getState() == State.CONNECTED; if (enable && wifiConnected) { // cannot switch - WiFi should be disabled first WifiManager wifiManager = (WifiManager) mActivity .getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(false); } if (enable) { // is APN is disabled we need to enable it first Context context = mActivity; SharedPreferences prefs = mActivity.getApp().getPreferences(); int state = ApnControl.getApnState(context, prefs); if (state == STATE_OFF) { ApnControl.setApnState(context, prefs, true); } } int perm = mActivity .checkCallingOrSelfPermission("android.permission.MODIFY_PHONE_STATE"); System.out.println("android.permission.MODIFY_PHONE_STATE: " + (PackageManager.PERMISSION_DENIED == perm ? "denied" : "granted")); perm = mActivity.checkCallingOrSelfPermission("android.permission.FLASHLIGHT"); System.out.println("android.permission.FLASHLIGHT: " + (PackageManager.PERMISSION_DENIED == perm ? "denied" : "granted")); // now try to enable connection mTelephonyManager.setMobileDataEnabled(enable); if (enable) { if (++mTryCounter > 2) { // show 2G hint Toast.makeText(mActivity, R.string.msg_2g_hint, Toast.LENGTH_LONG).show(); if (mTryCounter > 3) { onSelected(0); // open system settings } } else { Toast.makeText(mActivity, R.string.msg_enabling_mobile_data, Toast.LENGTH_SHORT).show(); } } updateState(enable ? mTelephonyManager.getMobileDataInfo().getState() : State.DISCONNECTING); } HandlerThread 的问题 xml资源文件转成bitmap 散分分享一下小弟整理的关于安卓学习教程的资料,不喜勿喷! 编写代码获取手机的imei(串号) 基于Rexsee地图API实现的Android地图导航功能实战 sqllite日期问题 有两个AVD,为什么启动项目时,不提示选择具体哪一个AVD呢? wifi 热点遇到怪事情了,玛德,我无语 android开发中客户端数据上传到服务器上 求安卓OTG链接尼康相机获取照片解决方案 PopupWindow的问题 安装了SDK 创建AVD以后 第一个HelloWorld文件run不起来
mActivity.getContentResolver(), "mobile_data", 1) == 1;
if (enable && !mobileDataAllowed) {
// cannot switch - system Mobile Data should be enabled first
Toast.makeText(mActivity, R.string.txt_enable_data_access_first,
Toast.LENGTH_LONG).show();
onSelected(0); // open system settings
return;
} boolean wifiConnected = mTelephonyManager.getWiFiInfo().getState() == State.CONNECTED;
if (enable && wifiConnected) {
// cannot switch - WiFi should be disabled first
WifiManager wifiManager = (WifiManager) mActivity
.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
} if (enable) {
// is APN is disabled we need to enable it first
Context context = mActivity;
SharedPreferences prefs = mActivity.getApp().getPreferences();
int state = ApnControl.getApnState(context, prefs);
if (state == STATE_OFF) {
ApnControl.setApnState(context, prefs, true);
}
} int perm = mActivity
.checkCallingOrSelfPermission("android.permission.MODIFY_PHONE_STATE");
System.out.println("android.permission.MODIFY_PHONE_STATE: "
+ (PackageManager.PERMISSION_DENIED == perm ? "denied"
: "granted")); perm = mActivity.checkCallingOrSelfPermission("android.permission.FLASHLIGHT");
System.out.println("android.permission.FLASHLIGHT: "
+ (PackageManager.PERMISSION_DENIED == perm ? "denied"
: "granted")); // now try to enable connection
mTelephonyManager.setMobileDataEnabled(enable); if (enable) {
if (++mTryCounter > 2) {
// show 2G hint
Toast.makeText(mActivity, R.string.msg_2g_hint,
Toast.LENGTH_LONG).show();
if (mTryCounter > 3) {
onSelected(0); // open system settings
}
} else {
Toast.makeText(mActivity, R.string.msg_enabling_mobile_data,
Toast.LENGTH_SHORT).show();
}
} updateState(enable ? mTelephonyManager.getMobileDataInfo().getState()
: State.DISCONNECTING);
}