簡體   English   中英

如何在IntentService中將字符串從OnStartCommand傳遞到OnHandleIntent?

[英]How to pass string from OnStartCommand into OnHandleIntent in an IntentService?

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中獲取onStartCommand

您不應為IntentService覆蓋此方法。 而是改寫onHandleIntent(Intent),當IntentService收到啟動請求時,系統將調用該方法。

您為什么不嘗試從傳遞給onHandleIntent的意圖中檢索額外內容,如下所示?

@Override
protected void onHandleIntent(Intent intent) {
    String myUrl = intent.getExtras().getString("myUrl");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM