0

ごく最近、ウィジェットから次のエラーが返され始めました。私は何も変更を加えなかったので、問題は何である可能性があり、どのように問題を回避するのか疑問に思っています。ウィジェットは、サードパーティのクライアントからの情報にアクセスするために作成したサービスからの情報に基づいて更新されます。数日前まではデータを正常に戻すことができました。今、私は以下のエラーを受け取ります。

アクティビティ(つまり、非ウィジェット)でコードを実行しようとしましたが、正常に機能します。なぜウィジェットではなくアクティビティで機能するのかわかりません。また、別のインテントでサードパーティのWebサイトへのアクセスを実行しています。

エミュレータを再起動し、Eclipseを起動して、デバイスを再起動してみました。私のマニフェストファイルには、インターネットにアクセスするための適切な権限があります。最初はネットワークの問題のようでしたが、エミュレータとデバイスのWebブラウザからURLにアクセスできることを確認しました。コードは数日前に機能していました。マニフェストファイルで投稿を更新しました。parseMyInfoを呼び出す直前にコードが失敗します。OAuthコンシューマー/プロバイダーの呼び出し中に例外がスローされます。

エラー

oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:214)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at oauth.signpost.AbstractOAuthProvider.retrieveRequestToken(AbstractOAuthProvider.java:69)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at com.test.community.SG_Service$TED.populate(SG_Service.java:276)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at com.test.community.SG_Service$SGHandler.getTEDData(SG_Service.java:813)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at com.test.community.SG_Service$SGService_BG.onHandleIntent(SG_Service.java:844)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:59)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at android.os.Looper.loop(Looper.java:123)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at android.os.HandlerThread.run(HandlerThread.java:60)
08-24 22:36:02.063: ERROR/ARCHOS(541): Caused by: java.net.UnknownHostException: communitymonitorstudy.stepgreen.org
08-24 22:36:02.063: ERROR/ARCHOS(541):     at java.net.InetAddress.lookupHostByName(InetAddress.java:513)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:278)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at java.net.InetAddress.getAllByName(InetAddress.java:242)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at oauth.signpost.commonshttp.CommonsHttpOAuthProvider.sendRequest(CommonsHttpOAuthProvider.java:64)
08-24 22:36:02.063: ERROR/ARCHOS(541):     at oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:177)

失敗するコード失敗するコード は次のとおりです。

HttpClient client = new DefaultHttpClient();

consumer = new CommonsHttpOAuthConsumer(Constants.CONSUMER_KEY, 
Constants.CONSUMER_SECRET);
provider = new CommonsHttpOAuthProvider(Constants.REQUEST_TOKEN_URL,   
Constants.ACCESS_TOKEN_URL, Constants.AUTHORIZE_URL, client);

provider.retrieveRequestToken(consumer, OAuth.OUT_OF_BAND); 

provider.retrieveAccessToken(consumer, null);

MyInfo info = parseMyInfo(userName, consumer, client);

マニフェストファイル

<application android:icon="@drawable/icon" android:debuggable="true"  
android:label="@string/app_name" android:name="AppStatus">

<activity android:name=".CommunityMonitorActivity"android:label="@string/app_name">
<intent-filter>
<action android:name="com.cmu.community.CommunityWidget.ACTION_WIDGET_CONFIGURE"/>
</intent-filter>
</activity>

 <activity android:name=".MyInfoActivity"
   android:theme="@style/Theme.D1"
   android:label="@string/my_info"
 />

 <activity android:name=".HomeActivity"
  android:theme="@style/Theme.D1"
  android:label="@string/home"
 />

 <activity android:name=".AboutActivity"
 android:theme="@style/Theme.D1"
 android:label="@string/about"
 />


<receiver android:name=".CommunityWidget" android:label="@string/app_name">
    <intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />

    <action android:name="com.cmu.community.CommunityWidget.ACTION_WIDGET_RECEIVER"/>
    </intent-filter>
   <meta-data android:name="android.appwidget.provider" 
          android:resource="@xml/communitywidgetprovider" />
</receiver>

<receiver android:name="com.cmu.community.Stepgreen_Service$StepgreenReceiver">
    <intent-filter>
        <action android:name="com.cmu.community.ACTION_STEPGREENMANAGER"></action>
    </intent-filter>
</receiver>

  <receiver android:name="com.cmu.community.AppStatus_Service$AppStatusReceiver">
    <intent-filter>
        <action android:name="com.cmu.community.ACTION_APPSTATUSMANAGER"></action>
    </intent-filter>
</receiver>


<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-
permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<service android:name="Stepgreen_Service$StepgreenService_BG"></service>
</application>
</manifest>
4

3 に答える 3

1

ウェブサイト「communitymonitorstudy.stepgreen.org」が稼働しています。先ほど確認しました。

そう

  • サイトが以前にダウンしていた場合、問題はあなたの側でも消えました (再確認してください)

  • または、ホストが見つからないネットワークの問題が発生しています。

Web サイトにアクセスできるかどうか、同じデバイスでホストされている通常のブラウザーで確認する必要があります。もしそうなら、これは問題がアプリケーションに関連していることを意味します。そうでない場合は、ネットワーク接続に関連しています。

client送信されたコードは完全ではありません。 が でどのように使用されているかわかりませんparseMyInfo()。上記で提案したテストにさらに問題がアプリケーションに結び付けられている場合は、質問をさらにコードで更新してください。

于 2011-08-25T14:41:43.910 に答える
1

自分のミスが信じられない…

私の権限に問題があると言った人は正しかった。アプリケーションの外部にインターネット許可を含める必要がありました。いいえ:

<service android:name="Stepgreen_Service$StepgreenService_BG"></service>
</application>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-
permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

</manifest>
于 2011-08-26T02:52:16.537 に答える
0

1 週間前に 2 台のデバイス (2.3.4 の Nexus One と 3.1 の Transformer) でまったく同じ問題が発生しました。それは私のコードだと思ったので、古いバージョンをインストールしましたが、同じエラーが発生しました。

ソリューション?それぞれ再起動。OSのどこかで何かがおかしいに違いないと仮定します。

于 2011-08-25T14:41:36.367 に答える