我已经正确设置了 Asterisk 服务器以允许 GUI 界面,为了检查这一点,我已经尝试并测试了一个已经可用的 Android 应用程序并用我的浏览器进行了测试。我能够登录并查看文件。例如。 http://192.168.8.x:8088/asterisk/rawman?action=getconfig&filename=users.conf
此命令向我显示 user.conf 文件。
但是,相同的命令不适用于我的 Android 应用程序。结果是
响应:错误消息:权限被拒绝
我的代码:第一个按钮点击:try{ new mygoogleSearch().execute( http://192.168.8.x:8088/asterisk/rawman?action=login&username=tismo&secret=tismo123 ); } catch(Exception e) { Log.v("Exception google search","Exception:"+e.getMessage()); }
这将返回:03-27 17:27:09.468:E/GoogleSearch(21686):响应:SuccessMessage:身份验证已接受
在第二个按钮上单击:
try{
new Execute().execute("http://192.168.8.4:8088/asterisk/rawman?action=getconfig&filename=test.conf");
} catch(Exception e) {
Log.v("Exception google search","Exception:"+e.getMessage());
}
类 mygoogleSearch 扩展 AsyncTask {
protected String doInBackground(String... searchKey) {
;
String cmd = searchKey[0];
try {
return action(cmd);
} catch(Exception e) {
Log.v("Exception ",
"Exception:"+e.getMessage());
return "";
}
}
私有字符串操作(字符串 uRL)抛出 MalformedURLException,IOException { String newFeed= uRL; StringBuilder 响应 = new StringBuilder();
URL url = new URL(newFeed);
HttpURLConnection httpconn = (HttpURLConnection) url.openConnection();
httpconn.setUseCaches(false);
//httpconn.setRequestProperty("Cache", "false");
if(httpconn.getResponseCode()==HttpURLConnection.HTTP_OK) {
BufferedReader input = new BufferedReader(
new InputStreamReader(httpconn.getInputStream()),
8192);
String strLine = null;
while ((strLine = input.readLine()) != null) {
response.append(strLine);
}
input.close();
}
return response.toString();
}
这返回:
03-27 17:28:31.808:E/GoogleSearch(21800):响应:错误消息:权限被拒绝