Java Android:无法从应用程序连接到internet?
我正在尝试在android studio中运行代码,并进行了一些修改以将信息转发到我的电子邮件帐户 但我无法从我的应用程序ping或连接到gmail smtp。我添加了以下代码来检查互联网连接,但ping google.com同时返回false和checknetworkstatus返回true。我已连接到我的Wifi网络Java Android:无法从应用程序连接到internet?,java,android,email,android-studio,Java,Android,Email,Android Studio,我正在尝试在android studio中运行代码,并进行了一些修改以将信息转发到我的电子邮件帐户 但我无法从我的应用程序ping或连接到gmail smtp。我添加了以下代码来检查互联网连接,但ping google.com同时返回false和checknetworkstatus返回true。我已连接到我的Wifi网络 public static boolean ping(String url, int timeout) { // Otherwise an except
public static boolean ping(String url, int timeout) {
// Otherwise an exception may be thrown on invalid SSL certificates:
url = url.replaceFirst("^https", "http");
try {
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setConnectTimeout(timeout);
connection.setReadTimeout(timeout);
try {
connection.setRequestMethod("HEAD");
int responseCode = connection.getResponseCode();
System.err.println("URL " + url + " returned: " + responseCode);
return ((200 <= responseCode && responseCode <= 399) || (responseCode == 405));
} catch (ProtocolException e) {
e.printStackTrace();
}
} catch (IOException exception) {
return false;
}
return false;
}
public boolean checkNetworkStatus() {
// Variables used for checking the network state.
final ConnectivityManager connMgr = (ConnectivityManager) getApplicationContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo wifi = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final NetworkInfo mobile = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if ((wifi.isConnected() == true) || (mobile.isConnected() == true)) {
return true;
} else
return false;
}
这是android studio中的某种错误还是其他错误???参考看起来像是您的网络问题,而不是代码问题。@sasikumar尝试了您的链接,但仍然给出了
!javax.mail.MessagineException:无法连接到SMTP主机:SMTP.gmail.com,端口:587;嵌套异常为:java.net.ConnectException:90000ms后未能连接到smtp.gmail.com/2404:6800:4003:c00::6c(端口587):未连接失败:未连接(网络无法访问)
参考看起来像是网络问题,而不是代码。@sasikumar尝试了您的链接,但仍然给出了!javax.mail.MessagineException:无法连接到SMTP主机:SMTP.gmail.com,端口:587;嵌套异常为:java.net.ConnectException:90000ms后未能连接到smtp.gmail.com/2404:6800:4003:c00::6c(端口587):未连接失败:未连接(网络无法访问)
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
09-07 12:00:32.082 21249-24268/com.example.callsmsforward W/System.err﹕ javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
09-07 12:00:32.082 21249-24268/com.example.callsmsforward W/System.err﹕ nested exception is:
09-07 12:00:32.083 21249-24268/com.example.callsmsforward W/System.err﹕ java.net.ConnectException: failed to connect to smtp.gmail.com/2404:6800:4003:c00::6c (port 465) after 90000ms: isConnected failed: ENETUNREACH (Network is unreachable)