bugfix> java > 投稿

ユーザーがオフラインのときにユーザーに表示されるカスタム画像を使用しようとしており、ユーザーが画像をクリックすると、アクティビティがリロードされます。

P.s Blogger APIを使用しています

回答 2 件
  • 最初にこの許可をマニフェストに追加します

    <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
    }
    
    

  • フルスクリーンのカスタムダイアログを使用して、インターネットを確認できます。だから、あなたは書くことができます、

    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:インターネットアクセス許可を追加することを忘れないでください

あなたの答え