I am trying to run the code from this in android studio, with some modification to forward information to my email account.
But i am unable to ping or connect to gmail smtp from my app. I have added following code to check internet connectivity but pinging google.com is returning false and checknetworkstatus is returning true at same time. I am connected to my Wifi network.
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;
}
I am using code from link for sending email and added following permissions to my manifest file but still it is not working.
<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" />
And generates error
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)
Is this some kind of bug with android studio or something else??