防止脱机模式或重新路由到URL

时间:2012-09-22 11:23:39

标签: android connection offline

我希望我的Android应用只能在线使用。 如果用户没有互联网连接,我想阻止用户使用其中的任何内容,并向他显示带有快速消息和浏览器链接的弹出窗口。

我已经看到了有关检查连接状态的其他问题,但我不确定 1)在我的应用程序中放置此代码的位置 2)如果用户离线,如何防止用户完全访问任何内容 2)使用短文本消息和指向Playstore的链接显示弹出窗口的最佳解决方案是什么

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

对于您的第一个问题,您可以在启动时轻松关闭应用程序:

ConnectivityManager connectivityManager 
          = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    if(activeNetworkInfo == null){
      finish();
    }

这不会给用户任何迹象表明您的应用程序在没有WiFi的情况下受到限制但是它可以完成工作,您可以在关闭之前轻松添加对话框。这需要放在主启动器活动的onCreate()中。

其次:

AlertDialog.Builder builder = new AlertDialog.Builder(mActivity)
                .setTitle(title)
                .setMessage(message)
                .setPositiveButton("Play Store", new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        final Intent MyIntent = new Intent(Intent.ACTION_VIEW, 
                        Uri.parse("market://details?id=myid"));
                        startActivity(MyIntent);
                    }
                })
                .setNeutralButton("No thanks!", new Dialog.OnClickListener(){
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                });
        builder.create().show();

这将提供一个小弹出窗口,点击后会将用户带到市场。