如何使用twitter4j在twitter stream api上更改关键字?

ktl*_*lim 7 twitter4j twitter-streaming-api

我使用twitter4j连接到Stream API.

据我所知,从这篇帖子中,更改Twitter流过滤关键字而无需重新打开流,在连接打开时无法更改关键字.我必须断开连接并更改过滤器谓词并重新连接它.

我想知道是否有任何代码示例可以让我断开它,更改关键字并重新连接它?

目前,我尝试在onStatus()下的StatusListener中执行此操作,在经过X时间后,它会将关键字更改为"juice".但是我没有办法关闭连接并重新连接到Stream API.

if (diff>=timeLapse) {
   StatusListener listener = createStatusListener();
   track = "juice";
   twitterStream = new TwitterStreamFactory().getInstance();
   twitterStream.addListener(listener);
   FilterQuery fq = new FilterQuery();
   fq.track(new String[] {track});
   startTime=System.currentTimeMillis();
   twitterStream.filter(fq);
}
Run Code Online (Sandbox Code Playgroud)

小智 4

您需要先 cleanUp() 流,然后使用 filter(FilterQuery) 方法打开一个新流来更改跟踪术语。