0
이전에 백그라운드 서비스의 PubNub를 사용하여 Android에 위치 업데이트를 게시했습니다. 다른 프로젝트에서이 API를 사용하고 새로운 API를 테스트하기위한 간단한 서비스를 작성했습니다. 그러나 게시가 항상 실패하고 이유를 정확히 알 수 없습니다. 나는 단순히 startService()를 호출하고 로그를보고 난 항상 실패 메시지를 얻을 수는 MainActivity에서PubNub가 서비스에서 게시하지 않습니다.
public class MessageService extends Service {
private static final String TAG = "MessageService";
private PubNub pubnub;
private Timer timer = new Timer();
public MessageService() {
PNConfiguration config = new PNConfiguration();
config.setPublishKey("pub_key_removed_for_privacy");
pubnub = new PubNub(config);
}
TimerTask task = new TimerTask() {
@Override
public void run() {
pubnub.publish()
.channel("demo")
.message("hello from service")
.async(new PNCallback<PNPublishResult>() {
@Override
public void onResponse(PNPublishResult result, PNStatus status) {
if (status.isError()) {
Log.e(TAG, "Publish failed");
} else {
Log.d(TAG, "Publish successful");
}
}
});
}
};
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
timer.schedule(task, 0, 5000);
return START_REDELIVER_INTENT;
}
@Override
public void onDestroy() {
super.onDestroy();
timer.cancel();
}
@Override
public IBinder onBind(Intent intent) {
return binder;
}
private final IBinder binder = new ServiceBinder();
public class ServiceBinder extends Binder {
public MessageService getService() {
return MessageService.this;
}
}
}
: 여기
서비스 코드입니다. 내 매니페스트에서 internet 및 network_state 권한을 가지고 있으며 이것이 작동하지 않는 다른 이유를 생각할 수 없습니다. 어떤 제안? PubNub 키를 구독
@CraigConover 답변으로 게시하여 답변으로 게시 할 수 있습니까? –