关闭Android Android流媒体api警告错误

时间:2017-09-20 08:13:31

标签: android twitter4j

我正在打开一个Twitter流来获得不断的推文流,但是当我尝试关闭它时,我得到以下系统错误。调用stopStreaming()方法时会发生错误。我正在使用Twitter twitter4j来传输状态/过滤器。

public class FilterTweetsManager implements StatusListener//, Runnable
{
    //
    public void start(String[] keywords)
    {

        FilterQuery fq = new FilterQuery();

        fq.track(keywords);

        twitterStream_.addListener(this);
        twitterStream_.filter(fq);
    }

    public void stopStreaming()
    {
        Handler handler = new Handler();

        handler.post(new Runnable() {
            @Override
            public void run() {
                twitterStream_.cleanUp(); // shutdown internal stream consuming thread
                twitterStream_.shutdown(); // Shuts down internal dispatcher thread shared by all TwitterStream instances.
            }
        });

    }

    @Override
    public void onStatus(twitter4j.Status status) {
        Log.d(TAG, "onStatus " + status.getText());
    }

    //... rest of the StatusListener methods

}

收到的错误是:

W/System.err: java.lang.IllegalStateException: Unbalanced enter/exit
 W/System.err:     at com.android.okhttp.okio.AsyncTimeout.enter(AsyncTimeout.java:62)
 W/System.err:     at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:209)
 W/System.err:     at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)
 W/System.err:     at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)
 W/System.err:     at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)
 W/System.err:     at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.readChunkSize(Http1xStream.java:451)
 W/System.err:     at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.read(Http1xStream.java:435)
 W/System.err:     at com.android.okhttp.internal.Util.skipAll(Util.java:159)
 W/System.err:     at com.android.okhttp.internal.Util.discard(Util.java:141)
 W/System.err:     at com.android.okhttp.internal.http.Http1xStream$ChunkedSource.close(Http1xStream.java:472)
 W/System.err:     at com.android.okhttp.okio.RealBufferedSource.close(RealBufferedSource.java:396)
 W/System.err:     at com.android.okhttp.okio.RealBufferedSource$1.close(RealBufferedSource.java:384)
 W/System.err:     at java.util.zip.InflaterInputStream.close(InflaterInputStream.java:239)
 W/System.err:     at java.util.zip.GZIPInputStream.close(GZIPInputStream.java:137)
 W/System.err:     at twitter4j.StatusStreamBase.close(StatusStreamBase.java:335)
 W/System.err:     at twitter4j.TwitterStreamImpl$TwitterStreamConsumer.close(TwitterStreamImpl.java:685)
 W/System.err:     at twitter4j.TwitterStreamImpl.cleanUp(TwitterStreamImpl.java:386)
 W/System.err:     at cat.jorda.tweetfilter.FilterTweetsManager$1.run(FilterTweetsManager.java:63)
 W/System.err:     at android.os.Handler.handleCallback(Handler.java:789)
 W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:98)
 W/System.err:     at android.os.Looper.loop(Looper.java:164)
 W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6541)
 W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
 W/System.err:     at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
 W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
 W/TwitterStreamImpl: Unbalanced enter/exit
 W/TwitterStreamImpl: Inflater has been closed

0 个答案:

没有答案