1

Android/Java初心者はこちら。アプリケーションの別の部分で見つけた URL があります。その URL を文字列としてインテント サービスの OnStartCommand に渡すことに成功しました。次に、以下に示すように、OnHandleIntent のスレッドに存在する HttpURLConnection で使用できる URL を含む文字列を作成したいと思います。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();
            }
    }
4

1 に答える 1

2

インテントサービスの onStartCommand をオーバーライドしないでください。onStartCommandのjavadoc から

IntentService のこのメソッドをオーバーライドしないでください。代わりに、IntentService が開始要求を受信したときにシステムが呼び出す onHandleIntent(Intent) をオーバーライドします。

以下のように onHandleIntent に渡されたインテントからエクストラを取得しようとしない理由はありますか?

@Override
protected void onHandleIntent(Intent intent) {
    String myUrl = intent.getExtras().getString("myUrl");
于 2013-05-31T01:57:31.753 に答える