Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果网络可用,如何导航到其他活动?_Android - Fatal编程技术网

Android 如果网络可用,如何导航到其他活动?

Android 如果网络可用,如何导航到其他活动?,android,Android,我不熟悉基于java的android应用程序。 如果互联网连接可用,我想开始新的活动(另一个屏幕) 我在appinventor中试用过 这就像当点击一个按钮时,它通过url检查互联网连接,如果returs状态代码为200,则导航到下一个屏幕,否则会显示一条toast消息“启用互联网连接”。 我怎样才能在android应用程序中做到这一点 (问题编辑) 如何将连接检查插入此 public类主菜单扩展活动{ @凌驾 创建时的公共void(Bundle savedInstanceState){ sup

我不熟悉基于java的android应用程序。 如果互联网连接可用,我想开始新的活动(另一个屏幕)

我在appinventor中试用过

这就像当点击一个按钮时,它通过url检查互联网连接,如果returs状态代码为200,则导航到下一个屏幕,否则会显示一条toast消息“启用互联网连接”。 我怎样才能在android应用程序中做到这一点

(问题编辑)

如何将连接检查插入此
public类主菜单扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//从activity_main.xml获取视图
setContentView(右布局主菜单);
//在activity_main.xml中找到该按钮
按钮indiabt=(按钮)findViewById(R.id.indiab);
//捕获按钮点击
indiabt.setOnClickListener(新的OnClickListener(){
公共void onClick(视图arg0){
//启动NewActivity.class
Intent myIntent=新Intent(main menu.this,
例如:班级);
星触觉(myIntent);
}

});
使用此命令执行任务

 Button indiabt  = (Button)findViewById(R.id.indiab);
    indiabt .setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            android.net.NetworkInfo wifi = cm
                    .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            android.net.NetworkInfo datac = cm
                    .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if ((wifi != null & datac != null)
                    && (wifi.isConnected() | datac.isConnected())) {
                setContentView(R.layout.activity_main2);
            }else{
                //no connection
                Toast toast = Toast.makeText(MainActivity.this, "No Internet Connection", Toast.LENGTH_LONG);
                toast.show();
            }
        }
    });

在按钮内尝试以下操作:

if(isNetworkAvailable()){
    startActivity(context, yourActivity.class);
}
检查internet连接是否可用的方法:

private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
您还需要在清单中添加权限

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

如果你真的想检查互联网接入,而不仅仅是连接状态, 使用这篇文章的答案:

然后将处理程序更改为:

Handler h = new Handler() {

    @Override
    public void handleMessage(Message msg) {

        if (msg.what != 1) {          // code if not connected
            Toast.makeText(getActivity(), "Enable internet connection", Toast.LENGTH_SHORT).show();
        } else {                      // code if connected
            Intent intent = new Intent (this, ActivityUWantToStart.class); 
            startActivity(intent);
        }
    }
};
希望这能解决您的问题

检查的答案。通过Alexandre Jasmin提供的功能,您可以检查是否连接了internet

然后,您只需检查此函数的结果,并在if子句中执行操作

if(isNetworkAvailable()){
  //start your activity
} else{
  //show your toast
}

首先,创建一个“ConnectionDetector”类,并将以下代码放入其中:

 private Context _context;

public ConnectionDetector(Context context){
    this._context = context;
}

/**
 * Checking for all possible internet providers
 * **/
public boolean isConnectingToInternet(){
    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;
}
还要将以下权限添加到“AndroidManifest.xml”文件中:

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


Hi Harshad,请在该按钮内插入帮助。只有在没有internet的情况下,才能插入祝酒词。是否要将其放入按钮内?单击按钮“indiab”,转到Examplage.class(如果internet可用)或其他祝酒词message@ManuSai我们可以像我提到的那样设置布局文件activity_main2.xml文件,您可以设置您的文件。然后您可以将其重新发布到上面的代码。版式是exam_page.xml。请帮助根据我的上述需要进行自定义。@ManuSai如果您觉得它有用且有效,请接受此答案。@ManuSai如果您需要进一步的帮助,可以询问。
  <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />