专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
网络状态判断,如果没有连接网络启动网络设置界面
2019-04-14 16:52
发布
生成海报
站内文章
/
模拟电子
12622
0
1024
1、首先当然得在 manifest 中添加检查网络状态的权限;
[java]
view plain
copy
"android.permission.ACCESS_NETWORK_STATE"
>
"android.permission.INTERNET"
/>
2、具体判断步骤 (1)首先要先获得Android 对连接管理的一个类对象。
[java]
view plain
copy
ConnectivityManager
manager
= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
(2)获得网络链接状态
[java]
view plain
copy
if
(manager.getActiveNetworkInfo() !=
null
) {
networkFlag = manager.getActiveNetworkInfo().isAvailable();
}
(3)如果没有连接,弹出对话框提示用户连接,并在“设置”按钮里让用户跳转到设置网络界面。“取消”按钮回到主程序。
[java]
view plain
copy
if
(! networkFlag) {
AlertDialog.Builder builder =
new
AlertDialog.Builder(
this
);
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setTitle(
"网络状态"
);
builder.setMessage(
"当前网络不可用,是否设置网络?"
);
builder.setPositiveButton(
"设置"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
// TODO Auto-generated method stub
Intent wifiSettingsIntent =
new
Intent(
"android.settings.WIFI_SETTINGS"
);
startActivity(wifiSettingsIntent);
}
});
builder.setNegativeButton(R.string.cancel,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
dialog.cancel();
}
});
builder.create();
builder.show();
}
(4)最后一步,也是比较关键一步,就是在manifest 里声明该Activity , 如果没做,则会出现“xxx 已经停止运行”,原因显而易见。 问题是,我们以前都是自己建立的Activity ,知道如何声明,这里是系统自己的setting , 我们如何声明呢?
[html]
view plain
copy
<
PreferenceScreen
android:title
=
"设置网络"
android:summary
=
" "
>
<
intent
android:action
=
"android.intent.action.MAIN"
android:targetPackage
=
"com.android.settings"
android:targetClass
=
"com.android.settings.WirelessSettings"
/>
PreferenceScreen
>
在application 里面写上以上代码即可。 (困惑了好久,终于在一个前辈博客里找到了答案,在此感谢,http://blog.csdn.net/shenyuemei/article/details/8005241)
Ta的文章
更多
>>
网络状态判断,如果没有连接网络启动网络设置界面
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮