Как использовать пользовательский Нет подключения к Интернету Доступно макет, когда пользователь не в сети? - PullRequest
0 голосов
/ 27 июня 2018

Я пытался использовать пользовательское изображение, которое будет показано пользователю, когда он не в сети, и когда пользователь нажимает на изображение, действие должно быть перезагружено.

P.s Я использую Blogger API

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы можете использовать пользовательский диалог на весь экран для проверки интернета. Итак, вы можете написать,

if(isNetworkAvailable()){
        //Your Logic for Internet Connection
 }else {
    val noInternetDialog = Dialog(this, android.R.style.Theme)
    noInternetDialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
    noInternetDialog.setContentView(R.layout.no_internet_layout)
    val window = noInternetDialog.window
    window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)
    // What ever you have widget, can use them here.
    //for example
    val button_try_again = noInternetDialog.findViewById(R.id.buttonId)
    val image_to_display = noInternetDialog.findViewById(R.id.imageId)
    // listeners for image

    noInternetDialog.show
 }

isNetworkAvaibale () есть,

fun isNetworkAvailable(): Boolean {

        val connectivityManager = ApplicationInit.getAppContext()
                .getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
        val activeNetworkInfo = connectivityManager.activeNetworkInfo
        return activeNetworkInfo != null && activeNetworkInfo.isConnected
    } 

PS: не забудьте добавить Интернет-разрешения

0 голосов
/ 27 июня 2018

сначала добавьте это разрешение для манифеста

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

худой в твоей деятельности

private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

и используйте вот так

if(isNetworkAvailable()){
//internt connect
}else{
// no network 
//you can show image here by adding layout and set visibility gone and when no connection set visible
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...