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");

07-28 01:56