正在尝试创建登录名,并且用户信息位于远程服务器上,但是当我运行应用程序以获取令牌时,我不断收到类型为W / System.err的错误:java.io.FileNotFoundException:[C0 ]“。我已尝试使用邮递员检查API是否正常工作,可能是问题所在。
https://uat.elma.bz/revenueapi/token
您可以在AndroidManifest.xml中添加此部分(android:usesCleartextTraffic =“ true”)吗?像这样。
private class userlogin extends AsyncTask<String, String, String> {
@Override
public void onPreExecute() {
/* progressDialog = new ProgressDialog(userLogin.this);
progressDialog.setMessage("please wait as you get connected to the internet");
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(false);
progressDialog.show();*/
}
@Override
public String doInBackground(String... para) {
String response = "";
Map<String, String> params = new LinkedHashMap<>();
URL url = null;
try {
url = new URL(webconfigs.LOGIN_URL);
} catch (MalformedURLException e) {
e.printStackTrace();
}
;
params.put("grant_type", webconfigs.GRANT_TYPE);
params.put("username", para[0]);
params.put("Content-Type", webconfigs.CONTENT_TYPE);
params.put("password", para[1]);
StringBuilder postData = new StringBuilder();
for (Map.Entry<String, String> param : params.entrySet()) {
try {
if (postData.length() != 0) postData.append('&');
try {
postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
postData.append('=');
postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
} catch (Exception e) {
}
}
try {
String urlparameters = postData.toString();
URLConnection conn = url.openConnection();
conn.setRequestProperty("Method", "POST");
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(urlparameters);
writer.flush();
String line = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
//just to show the result
Log.e("READER", response);
while (String.valueOf(line = reader.readLine()) != null) {
response += line;
}
writer.close();
reader.close();
return response;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Log.e(">>>>LOGINSERVERRESPONSE", ">>>>>" + result);
//progressDialog.dismiss();
try {
JSONObject results = new JSONObject(result);
String token = results.getString("access_token");
if (token != null) {
String accessToken = results.getString("access_token");
String tokenType = results.getString("token_type");
String dateIssued = results.getString(".issued");
String expiryDate = results.getString(".expires_in");
startActivity(new Intent(getApplicationContext(), Homedashboard.class));
}
} catch (Exception e) {
}
}
}