Android 如何在不强行关闭应用程序的情况下保持活动状态

Android 如何在不强行关闭应用程序的情况下保持活动状态,android,Android,在我的应用程序中,当我单击菜单按钮时,它将转到一个活动,我将从远程服务器将数据和图像加载到自定义列表视图。问题是如果关闭WiFi,我会在第二个活动中崩溃。我已将代码放入try catch块,并在catch部分将适配器设置为null。因此,当我单击按钮时,它将进入活动,如果WiFi关闭,因为我在catch活动中设置adapter=null,将显示一个列表视图。我怎样才能在没有崩溃的情况下保持在菜单屏幕上。有什么想法吗 Intent mainIntent = new Intent(

在我的应用程序中,当我单击菜单按钮时,它将转到一个活动,我将从远程服务器将数据和图像加载到自定义列表视图。问题是如果关闭WiFi,我会在第二个活动中崩溃。我已将代码放入try catch块,并在catch部分将适配器设置为null。因此,当我单击按钮时,它将进入活动,如果WiFi关闭,因为我在catch活动中设置adapter=null,将显示一个列表视图。我怎样才能在没有崩溃的情况下保持在菜单屏幕上。有什么想法吗

        Intent mainIntent = new Intent( SplashScreenActivity.this, GiftListActivity.class );
        SplashScreenActivity.this.startActivity( mainIntent );
这是我对第二项活动的呼吁

try{
    adapter = new GiftJewelryListAdapter(GiftListActivity.this, giftlist);
    itemsListView.setAdapter(adapter);
}
catch(Exception e){
    adapter=null;
    MyAlertDialog.ShowAlertDialog(GiftJewelryListActivity.this, "", "Check Network Connection", "OK");
}

在显示消息“检查网络连接”后,我想继续参加我呼叫的活动。我应该在这里做什么更改?

我想在呼叫第二个活动之前,不要使用try-catch块,而是检查wifi连接是否可用。仅当连接可用时,调用第二个活动。这样,您就可以继续当前的活动。这解释了如何检查internet连接。

一种方法是通过定义一个
对话框界面来检测用户何时点击警告对话框的OK按钮。OnClickListener
在其中调用
YourActivity.this.finish()
关闭活动并返回上一个活动。

您可以在调用新活动的活动中检查网络可用性。如果网络可用,则可以启动新活动

try{
    adapter = new GiftJewelryListAdapter(GiftListActivity.this, giftlist);
    itemsListView.setAdapter(adapter);
}
catch(Exception e){
    adapter=null;
    MyAlertDialog.ShowAlertDialog(GiftJewelryListActivity.this, "", "Check Network Connection", "OK");
}
以下功能用于检测设备是否连接到网络

 public static boolean isNetworkAvailable(Context context) {
     ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
     if (connectivity != null) {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null) {
           for (int i = 0; i < info.length; i++) {
              if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                 return true;
              }
           }
        }
     }
     return false;
  }
别忘了在Manifest.XMl中添加权限

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


希望对你有所帮助。

我认为你应该把最后两条语句用花括号括起来。欢迎!还应该向Android清单添加以下权限