我想在我的应用程序中使用此功能:
当我启动我的应用时
-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
我希望第一个活动只是执行检查。不可见,如果有互联网 然后转发登录活动,否则登录主要活动
这是因为我希望我的应用程序可以在没有interner的情况下使用。但对于已登录的用户,它将从Web服务下载一些信息以存储在Shared Preferences.Any help?
答案 0 :(得分: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和移动网络......
希望这个解释很有用......
答案 1 :(得分:0)
您需要使用startActivity()
或startActivityForResult()
。
startActivityForResult()
的优势在于,您可以在完成后从您开始的活动中接收数据。
答案 2 :(得分:0)
只需创建第一个首先启动的活动,然后在该活动的onCreate上运行您的代码并调用其他活动。
此外,您可以在第三项活动中显示启动画面,同时决定要显示的活动。
答案 3 :(得分:0)
启动您的其他活动:
if(connection/login fails){
Intent loginfailed = new Intent(MainActivity.this, loginfailedactivity.class);
startActivity(loginfailed);
}
else {.....}
答案 4 :(得分: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
if
语句中插入Activity
来电