Leo Galindo
Leo Galindo

Reputation: 308

Android Nougat Media Player how put music Animation in Lock Screen?

I am using the original Music player in android Nougat, while the music is playing in the Lock Screen Appear an animation in the Buttom like this screenshot.

enter image description here

But when i using my own App Media Player in the same Android Nougat and Same device in the Lock Screen dont appear that animation.

enter image description here

The question is: How can i Add that animation in my Media Player App? it´s not a gif image because The animation moves to the rhythm of the music.

**This is my Notification Method ** if i am missing something or if i have to add something else.

ublic void Custom_Notificacion(){

    Notification notification = new Notification(R.drawable.logobubble, null, System.currentTimeMillis());

    notificationView = new RemoteViews(getPackageName(), R.layout.layout_notificacion_personalizada);

    notificationView.setImageViewBitmap(R.id.id_FotoAlbumNotif,FotoNotif);
    notificationView.setTextViewText(R.id.id_NombreMp3Notif,NommbreArtista);
    notificationView.setTextViewText(R.id.id_NombreCancionNotif,NombreCancion);

    notification.contentView = notificationView;
    notification.flags |= Notification.FLAG_NO_CLEAR;

   startForeground(constantes.NOTIFICATION_ID.FOREGROUND_SERVICE,notification);

}

Upvotes: 1

Views: 834

Answers (1)

Du.Fantasy
Du.Fantasy

Reputation: 485

I've read an article about this,an feasible solution is custom a lock screen page and display the Animation view within it,to achieve this you need a Service listening to the LOCK_SCREEN Broadcast,and start your LockScreenActivity ;replace the system lock screen at the same time. here is some code segment might be helpful: Register Broadcast Receiver

IntentFilter mScreenOffFilter = new IntentFilter();
mScreenOffFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(mScreenOffReceiver, mScreenOffFilter);  

  // on receive method

 private BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() {
@SuppressWarnings("deprecation")
@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(NOTIFY_SCREEN_OFF)) {
        Intent mLockIntent = new Intent(context, LockScreenActivity.class);
        mLockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        startActivity(mLockIntent);
    }
}

Disable the Lock screen

KeyguardManager mKeyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock mKeyguardLock =  mKeyguardManager.newKeyguardLock("CustomLockScreen");
mKeyguardLock.disableKeyguard();

Hope this could be a little help

Upvotes: 1

Related Questions