示例#1
0
 @Override
 protected void onHandleIntent(Intent intent) {
   AndroidUtilities.runOnUIThread(
       new Runnable() {
         @Override
         public void run() {
           NotificationsController.getInstance().repeatNotificationMaybe();
         }
       });
 }
 @SuppressLint("NewApi")
 @Override
 public int onStartCommand(Intent intent, int flags, int startId) {
   try {
     MessageObject messageObject = MediaController.getInstance().getPlayingMessageObject();
     if (messageObject == null) {
       AndroidUtilities.runOnUIThread(
           new Runnable() {
             @Override
             public void run() {
               stopSelf();
             }
           });
       return START_STICKY;
     }
     if (supportLockScreenControls) {
       ComponentName remoteComponentName =
           new ComponentName(getApplicationContext(), MusicPlayerReceiver.class.getName());
       try {
         if (remoteControlClient == null) {
           audioManager.registerMediaButtonEventReceiver(remoteComponentName);
           Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
           mediaButtonIntent.setComponent(remoteComponentName);
           PendingIntent mediaPendingIntent =
               PendingIntent.getBroadcast(this, 0, mediaButtonIntent, 0);
           remoteControlClient = new RemoteControlClient(mediaPendingIntent);
           audioManager.registerRemoteControlClient(remoteControlClient);
         }
         remoteControlClient.setTransportControlFlags(
             RemoteControlClient.FLAG_KEY_MEDIA_PLAY
                 | RemoteControlClient.FLAG_KEY_MEDIA_PAUSE
                 | RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE
                 | RemoteControlClient.FLAG_KEY_MEDIA_STOP
                 | RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS
                 | RemoteControlClient.FLAG_KEY_MEDIA_NEXT);
       } catch (Exception e) {
         FileLog.e("tmessages", e);
       }
     }
     createNotification(messageObject);
   } catch (Exception e) {
     e.printStackTrace();
   }
   return START_STICKY;
 }