java–Android:Activity建立网络连接

java–Android:Activity建立网络连接,第1张

概述我有一个Activity,它在onCreate方法中从web查找数据.用户点击通知即激活活动.因此,用户将快速打开手机,解锁,滑动打开通知,点按通知以及在手机连接到互联网之前激活活动是一个常见问题.我有一个友好的AlertDialog,d出告知用户无法接收数据,并在连接网络时再试一次;但有没有办法让

我有一个Activity,它在onCreate方法中从web查找数据.用户点击通知即激活活动.因此,用户将快速打开手机,解锁,滑动打开通知,点按通知以及在手机连接到互联网之前激活活动是一个常见问题.

我有一个友好的AlertDialog,d出告知用户无法接收数据,并在连接网络时再试一次;但有没有办法让Activity主动告诉手机连接并检测到正在建立连接,然后等待连接建立,然后成功加载其数据?

解决方法:

通常,你会做这样的事情:

@OverrIDepublic voID onResume(){    super.onResume();    // first, check connectivity    if ( isOnline ){        // do things if it there's network connection    }else{        // as it seems there's no Internet connection        // ask the user to activate it        new AlertDialog.Builder(YourActivity.this)            .setTitle("Connection Failed")            .setMessage("This application requires network access. Please, enable " +                    "mobile network or Wi-Fi.")            .setPositivebutton("Accept", new DialogInterface.OnClickListener() {                @OverrIDe                public voID onClick(DialogInterface dialog, int which) {                    // THIS IS WHAT YOU ARE DOING, Jul                    YourActivity.this.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));                }            })            .setNegativebutton("Cancel", new DialogInterface.OnClickListener() {                @OverrIDe                public voID onClick(DialogInterface dialog, int which) {                    YourActivity.this.finish();                }            })            .show();    }}@H_301_12@

这个想法是要求用户去配置网络连接.然后,如果用户确实想要配置它,您将调用Settings.ACTION_WIRELESS_SETTINGS意图.

另外,请注意isOnline变量,它是一个布尔值,用于指示是否存在网络连接.为了设置该变量,您可以使用这样的外部简单类:

public class CheckConnectivity {    public static boolean isOnline(Context context) {        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        if( cm == null )            return false;        NetworkInfo info = cm.getActiveNetworkInfo();        if( info == null )            return false;        return info.isConnectedOrConnecting();    }}@H_301_12@

此外,您必须将此权限添加到AndroIDManifest.xml文件中:

<uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" />@H_301_12@
总结

以上是内存溢出为你收集整理的java – Android:Activity建立网络连接全部内容,希望文章能够帮你解决java – Android:Activity建立网络连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)