0

我希望在我的应用程序中具有此功能:

当我启动我的应用程序时

-check if there is interne access : if yes {
                                        start LogInActivity { if login is succesfull
                                                              dialog:"synced!" for 3second
                                                             else
                                                               dialog:"no synced!" for 3second
                                                                  }
                                    }
                                        dialog:"no synced!"
                                        startMainActivity

我希望第一个活动只是执行检查。不可见,如果有互联网,则转发到登录活动,否则登录到主要活动

这是因为我希望在没有内部人员的情况下使用我的应用程序。但是对于登录的用户,它将从 Web 服务下载一些信息以存储在共享首选项中。有帮助吗?

4

5 回答 5

1

最好的方法是创建一个小函数来检查 wifi 和移动网络,如下所示:-

/**
 * Function to check whether internet connection is available or not
 * 
 * @return true - if net is available
 */
public boolean haveNetworkConnection() {
    mHaveConnectedWifi = false;
    mHaveConnectedMobile = false;

    mConnectivityManager = (ConnectivityManager) mContext
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    mNetworkInfo = mConnectivityManager.getAllNetworkInfo();

    for (NetworkInfo mNetInfo : mNetworkInfo) {
        if (mNetInfo.getTypeName().equalsIgnoreCase("WIFI"))
            if (mNetInfo.isConnected())
                mHaveConnectedWifi = true;
        if (mNetInfo.getTypeName().equalsIgnoreCase("MOBILE"))
            if (mNetInfo.isConnected())
                mHaveConnectedMobile = true;
    }
    return mHaveConnectedWifi || mHaveConnectedMobile;
}

现在在您的代码中执行以下操作:-

if(haveNetworkConnection){
// do something
}else{
    // no internet
}

优点是我们正在检查wifi和移动网络......

希望解释是有用的....

于 2012-10-04T08:32:01.020 回答
0

你会想要使用startActivity()startActivityForResult()

的优点startActivityForResult()是您可以在完成后从您开始的活动接收数据。

于 2012-08-21T18:32:58.067 回答
0

只需创建首先启动的第三个活动,然后在该活动的 onCreate 上运行代码并调用其他活动。

您还可以在第三个活动上显示启动屏幕,同时决定要显示哪个活动。

于 2012-08-21T18:44:12.820 回答
0

要启动您的其他活动:

if(connection/login fails){

                    Intent loginfailed = new Intent(MainActivity.this, loginfailedactivity.class);
                    startActivity(loginfailed);
      }

    else {.....}
于 2012-08-21T18:54:29.033 回答
0

这是我为确保有wifi连接所做的工作:

private void checkWifiConnection(String menuUrl){

    ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    if(mWifi.isConnected()){
        LoadJSON lJs = new LoadJSON(); 
        lJs.execute(menuUrl); 
    } else {
        AlertDialog.Builder ab = new AlertDialog.Builder(context); 
        ab.setCancelable(true);
        ab.setTitle("No Connection"); 
        ab.setMessage("Your device is currently not connected to the Internet, please check your connection and launch the app again."); 
        ab.setInverseBackgroundForced(true); 
        ab.setPositiveButton("Okay", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss(); 
                MainActivity.this.finish(); 


            }
        }); 

        AlertDialog alert =  ab.create(); 
        alert.show(); 


    }

您可以在启动您的语句的语句中插入一个Intent调用ifActivity

于 2012-08-21T18:59:11.987 回答