java - 怎么在android中实现无网络不能打开软件【具体看图,急,谁看见了一定进来看看】
黄舟
黄舟 2017-04-18 10:15:32
[Java讨论组]

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
黄舟

你的Launcher Activity设置背景为透明,在Launcher Activity的onCreate函数里,判断当前是否有网络链接,无网络链接就提示一个Toast,然后自动finish好了。

知道你肯定需要关键性代码,代码如下,别忘了点赞和采纳。

  1. 在AndroidManifest.xml中注册Launcher Activity,并设置theme为透明主题。

<activity
    android:name=".activity.SplashActivity"
    android:configChanges="orientation|screenSize|keyboardHidden"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
  1. SplashActivity中,onCreate函数直接判断当前是否有网络链接。如果有,则跳转到应用主Activity,没有,则finish当前SplashActivity。

/**
 * 判断网络是否连接
 */
public static boolean isNetworkAvailable(Context context) {
    context = context.getApplicationContext();
    ConnectivityManager connectivityManager = (ConnectivityManager)
            context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (isNetworkAvailable(this)) {
        // TODO:启动应用
    } else {
        Toast.makeText(this, "当前无网络", Toast.SHORT_TOAST).show();
        finish();
    }
}

看到这里,可以点赞和接纳了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号