Я пытаюсь проверить переменное количество сайтов в сервисе, которое каждые 15 минут просыпается по тревоге.Проблема, с которой я сталкиваюсь, заключается в том, что, когда я запускаю службу для проверки веб-сайтов, она дает мне java.net.UnknownHostException для веб-сайта, который, как я знаю, хорош.Perhpas Я не до конца понимаю ошибку, которая выкладывается, но я не уверен, почему код вызывает у меня такую проблему.
Вот стек:
06-28 19:30:06.270: WARN/System.err(560): java.net.UnknownHostException: http://www.cnn.com/
06-28 19:30:06.480: WARN/System.err(560): at java.net.InetAddress.lookupHostByName(InetAddress.java:513)
06-28 19:30:06.480: WARN/System.err(560): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:280)
06-28 19:30:06.490: WARN/System.err(560): at java.net.InetAddress.getByName(InetAddress.java:310)
06-28 19:30:06.520: WARN/System.err(560): at com.myapp.tracker.Listen.checkWebsite(Listen.java:102)
06-28 19:30:06.520: WARN/System.err(560): at com.myapp.tracker.Listen.onStartCommand(Listen.java:64)
06-28 19:30:06.520: WARN/System.err(560): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3053)
06-28 19:30:06.530: WARN/System.err(560): at android.app.ActivityThread.access$3600(ActivityThread.java:125)
06-28 19:30:06.530: WARN/System.err(560): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2096)
06-28 19:30:06.530: WARN/System.err(560): at android.os.Handler.dispatchMessage(Handler.java:99)
06-28 19:30:06.530: WARN/System.err(560): at android.os.Looper.loop(Looper.java:123)
06-28 19:30:06.550: WARN/System.err(560): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-28 19:30:06.550: WARN/System.err(560): at java.lang.reflect.Method.invokeNative(Native Method)
06-28 19:30:06.550: WARN/System.err(560): at java.lang.reflect.Method.invoke(Method.java:521)
06-28 19:30:06.550: WARN/System.err(560): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-28 19:30:06.550: WARN/System.err(560): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-28 19:30:06.550: WARN/System.err(560): at dalvik.system.NativeStart.main(Native Method)
Вот код:
public void checkWebsite(Intent intent) throws Exception {
BufferedReader in = null;
try {
Bundle bundle = intent.getExtras();
int [] checkboxes = bundle.getIntArray("checkboxes");
if( checkboxes[0] == 0){
String failure = "******FAILURE VALUE = 0";
Log.d(TRACKER_DEBUGGING, failure);
}
String [] websites = bundle.getStringArray("websites");
if( websites[0] == null){
String failure = "******FAILURE VALUE = null";
Log.d(TRACKER_DEBUGGING, failure);
}
for(int i = 0; i < 3; i++ ){
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
if( checkboxes[i] == 1 ){
request.setURI(new URI(websites[i]));
Log.d(TRACKER_DEBUGGING, websites[i]);
// this line right here is throwing the error
HttpResponse response = client.execute(request);
// more code after this but it never reaches this point or executes any of it
Я очень озадачен тем, почему это происходит.Я думаю, я не очень хорошо знаком с запросами Http, но я чувствую, что это должно работать.
РЕДАКТИРОВАТЬ *****: я поклялся, чтоЯ добавил разрешение на использование Интернета, но на самом деле я его не добавил.Теперь я знаю, что могу в три раза проверить это, когда столкнусь с UnknownHostException в будущем.
Upvotes за все, что нашли время ответить, и спасибо за то, что развлекаете мой идиотизм.