I have an IntentService and I want to make it sticky with the current notification. The problem is that the notification appears and then disappears immediately. The service continues to work. How to use startForeground in IntentService?
@Override public int onStartCommand(Intent intent, int flags, int startId) { super.onStartCommand(intent, flags, startId); Notification notification = new Notification(R.drawable.marker, "Notification service is running", System.currentTimeMillis()); Intent notificationIntent = new Intent(this, DashboardActivity.class); notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(this, "App", "Notification service is running", pendingIntent); notification.flags|=Notification.FLAG_NO_CLEAR; startForeground(1337, notification); return START_STICKY; } @Override protected void onHandleIntent(Intent intent) { String id = intent.getStringExtra(ID); WebSocketConnectConfig config = new WebSocketConnectConfig(); try { config.setUrl(new URI("ws://" + App.NET_ADDRESS + "/App/socket?id="+id)); } catch (URISyntaxException e) { e.printStackTrace(); } ws = SimpleSocketFactory.create(config, this); ws.open(); }
thanks
Matroska
source share