Android / Java noob在这里。我有一个在应用程序的另一部分中发现的URL。我已成功将该URL作为字符串传递给Intent服务的OnStartCommand。然后,我想使包含我的URL的字符串可用于位于OnHandleIntent中的线程中的HttpURLConnection,如下所示。如何获取myUrl字符串中的URL到OnHandleIntent?
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
String myUrl;
myUrl = intent.getExtras().getString("myUrl");
return super.onStartCommand(intent, flags, startId);
}
@Override
protected void onHandleIntent(Intent intentNotify) {
try {
URL url = new URL("myUrl");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
readStream(con.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
最佳答案
您不应该覆盖intentservice的onStartCommand。
从javadoc for onStartCommand
您不应为IntentService覆盖此方法。代替,
覆盖onHandleIntent(Intent),当
IntentService收到启动请求。
您为什么不尝试从传递给onHandleIntent的意图中检索额外内容,如下所示?
@Override
protected void onHandleIntent(Intent intent) {
String myUrl = intent.getExtras().getString("myUrl");