GUIインターフェイスを許可するようにAsteriskServerを適切に設定しました。これを確認するために、すでに利用可能な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:認証が受け入れられました
2番目のボタンをクリックします。
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 "";
}
}
private String action(String uRL)throws MalformedURLException、IOException {String newFeed = uRL; StringBuilder応答=newStringBuilder();
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):応答:ErrorMessage:アクセスが拒否されました