/ / Изпращане на имейл без имейл адрес? - андроид, имейл

Изпращане на имейл без имейл адрес? -

Съжаляваме за объркващата титла. Имам приложение и искам моите потребители да ми изпращат обратна връзка. Имам нужда от нещо, което не е твърде фантастично, просто текстово поле, където потребителят може да пише и бутон, за да изпрати съобщение до имейл акаунт, който съм създал за обратна връзка. Искам потребителят да може да прави това, без да използва нито един от техните имейл акаунти или друг профил. Мога ли да използвам нещо като JSON за изпращане на обратна връзка?

Отговори:

0 за отговор № 1

Можете да разрешите на потребителите да изпращат обратна връзка с основна проверка за проверка на имейл. Тази част от кода се изпълнява на ниво 8 и по-горе. Onclick на бутона за изпращане просто направи това основно имейл проверка

public boolean checkEmail(String email) {
try {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();

} catch (Exception e) {
Logging.e(TAG, "Email Validation", "Error: "+e.getMessage(),e);

}
return false;
}

Ако валидирането върне вярно. След това вземете въведения имейл и текстовото съдържание от редактирания текст и направете кадър на следния URL адрес и проверете за отговор, ако е HttpStatus.SC_OK.ако се върне OK, тогава от изпълняването на пощата извикайте метод във вашата дейност, използвайки слушател, за да се покаже изскачащ прозорец, в който отзивите са изпратени успешно. За да публикувате url и да проверите за response.Frame url в направете във фонов режим и да предадете URL адреса на този метод, някои от които в класа Utils да върне отговора.

public static boolean sendRequestOnly(String url) {




DefaultHttpClient client = returnHttpClient();

HttpGet getRequest = new HttpGet(url);

try {

HttpResponse resp = client.execute(getRequest);
final int statusCode = resp.getStatusLine().getStatusCode();

if (statusCode == HttpStatus.SC_OK) {
Logging.d("ClassName", "Retreive response", "Status Code "
+ statusCode + " for URL " + url);
return true;
} else {
return false;
}

} catch (IOException e) {
getRequest.abort();

}

return false;

}

0 за отговор № 2

Можете да използвате GCM (съобщение в облака на Google). Можете да намерите код тук.


0 за отговор № 3

За да създадете URL адрес, използвайте този метод. Получените отзиви трябва да ви достигнат правилно?

String url = "https://blablabla.net/";
StringBuilder sbUrl = new StringBuilder("feedback.jsp?email=");
sbUrl.append(emailId);
sbUrl.append("&content=");
sbUrl.append(textContent);
sbUrl.append("&subject=");
sbUrl.append(subject);
sbUrl.append("&os_version=");
sbUrl.append(OptimumConstants.OS_VERSION);

// ако искате userId.Лице, което ви е изпратило обратна връзка и т.н. sbUrl.append ( "& USER_ID ="); sbUrl.append (settings.getString ( SomeConstants.LOGGED_IN_USERNAME, "")); / / тук можете да добавите на има всякакви други urlparams искане като ID на устройството, тип устройство, OS версия и т.н., само ако искате цялата тази информация sbUrl.append ( "и" + Utils.FewOtherRLParams); url + = sbUrl.toString ();

    boolean resp= Utils.sendRequestOnly(url);

return resp;

0 за отговор № 4

Този метод е за прекъсване по подразбиране, когато има проблем в връзката, например изчакване на сокета или изчакване на свързване.

            public static DefaultHttpClient returnHttpClient() {
HttpParams httpParameters = new BasicHttpParams();
// Set the timeout in milliseconds until a connection is established.
// The default value is zero, that means the timeout is not used.
int timeoutConnection = 60000;
HttpConnectionParams.setConnectionTimeout(httpParameters,
timeoutConnection);
// Set the default socket timeout (SO_TIMEOUT)
// in milliseconds which is the timeout for waiting for data.
int timeoutSocket = 600000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

return new DefaultHttpClient(httpParameters);
}