0

Web からファイルをダウンロードする非同期タスクがあります。URL を事前設定すると正常に動作します。

URL url = new URL("http://www.mylocalweather.org.uk/ribblehead/clientraw.txt")

ただし、他のアクティビティで定義されたメソッドを使用して URL を返そうとすると失敗します。

URL url = null;
url = splash.gps();

メソッドは過去に正常に機能し、他のアクティビティから呼び出された場合、ダウンロード機能は URL が非同期にハードコードされている場合に正常に機能するため、非同期タスクからメソッドを呼び出すと問題が発生します。これに対する回避策は何ですか? ?

これはそれが思い付くエラーです

E/AndroidRuntime(16426): Caused by: java.lang.IllegalStateException: System services not available to Activities before onCreate()

どんな助けでもいただければ幸いです

どうもありがとう

4

2 に答える 2

0

あなたのログが言うように、それが作成されActivityていないときのメソッドを使用することはできませActivityん。いくつかのクラスを使用して、そこでメソッドを定義し、必要なパラメーターを渡します。

于 2013-10-30T20:41:19.723 に答える
0

その他のアクティビティは存在しない (エラー ノートにあるように、onCreate呼び出されていない) ため、使用しているシステム サービスを使用して URL を取得することはできません。

AsyncTask で URL 自体を取得するか、スプラッシュ アクティビティから AsyncTask をホストするアクティビティに情報を渡します。

于 2013-10-30T20:42:38.473 に答える