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