আমি যে সমাধানটি ব্যবহার করেছি সেগুলি সরবরাহ করার চেষ্টা করব এবং বেশিরভাগ সংগীত প্লেয়ার বিজ্ঞপ্তি বারে প্লেয়ার নিয়ন্ত্রণগুলি দেখানোর জন্য একই কৌশলটি ব্যবহার করে।
আমি একটি পরিষেবা চালাচ্ছি যা মিডিয়া প্লেয়ার এবং এর সমস্ত নিয়ন্ত্রণ পরিচালনা করতে ব্যবহৃত হয়। ক্রিয়াকলাপের ব্যবহারকারী নিয়ন্ত্রণ উদাহরণস্বরূপ পরিষেবাগুলিতে প্রেরণ করে পরিষেবার সাথে যোগাযোগ করে
Intent i = new Intent(MainActivity.this, MyRadioService.class);
i.setAction(Constants.Player.ACTION_PAUSE);
startService(i);
ইন্টেন্টগুলি গ্রহণ করতে এবং পরিষেবা শ্রেণিতে ক্রিয়া সম্পাদনের জন্য আমি পরিষেবাটির অন স্টার্ট কম্যান্ড পদ্ধতিতে নিম্নলিখিত কোড ব্যবহার করছি
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.getAction().equals(Constants.Player.ACTION_PAUSE)) {
if(mediaPlayer.isPlaying()) {
pauseAudio();
}
}
এখন আপনার প্রশ্নের সঠিক উত্তর খেলতে নিয়ন্ত্রণের সাথে বিজ্ঞপ্তি প্রদর্শন করতে। নিয়ন্ত্রণ সহ বিজ্ঞপ্তি দেখানোর জন্য আপনি নিম্নলিখিত পদ্ধতিগুলিতে কল করতে পারেন।
private void startAppInForeground() {
RemoteViews views = new RemoteViews(getPackageName(),
R.layout.notification_status_bar);
Intent playIntent = new Intent(this, MyRadioService.class);
playIntent.setAction(Constants.Player.ACTION_PLAY);
PendingIntent pplayIntent = PendingIntent.getService(this, 0,
playIntent, 0);
views.setOnClickPendingIntent(R.id.status_bar_play, pplayIntent);
views.setImageViewResource(R.id.status_bar_play,
R.drawable.status_bg);
Notification status = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
status = new Notification.Builder(this).build();
}
status.flags = Notification.FLAG_ONGOING_EVENT;
status.icon = R.mipmap.ic_launcher;
status.contentIntent = pendingIntent;
startForeground(Constants.FOREGROUND_SERVICE, status);
} আশা করি এটি আপনাকে সত্যই সহায়তা করবে। এবং আপনি যা চান তা অর্জন করতে সক্ষম হবেন। একটি শুভ কোডিং আছে :)