উদাহরণে আসার আগে, আমাদের জেনে নেওয়া উচিত অ্যান্ড্রয়েডে কী পরিষেবা রয়েছে। পরিষেবাটি UI এর সাথে ইন্টারঅ্যাক্ট ছাড়াই ব্যাক গ্রাউন্ড অপারেশন করতে যাচ্ছে এবং এটি কার্যকলাপ ধ্বংস করার পরেও কাজ করে
এই উদাহরণটি একটি পরিষেবার জন্য স্টার্ট ফোরগ্রাউন্ড কিভাবে বাস্তবায়ন করতে হয় সে সম্পর্কে প্রদর্শন করে।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
উপরের কোডে, আমরা টেক্সট ভিউ নিয়েছি, যখন ব্যবহারকারী টেক্সট ভিউতে ক্লিক করবে, তখন এটি শুরু হবে Foreground()। ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনপ্যাকেজ com.example.andy.myapplication;import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.support.v7.app.AppCompatActivity; android.os.Bundle আমদানি করুন;import android.util.Log;import android.view.View;import android.widget.TextView;পাবলিক ক্লাস MainActivity AppCompatActivity প্রসারিত করে { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ফাইনাল টেক্সটভিউ টেক্সট =findViewById(R.id.text); text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isMyServiceRunning(service.class)) { text.setText("Stoped"); stopService(নতুন ইন্টেন্ট(স, পরিষেবা। .class)); } অন্য { text.setText("Started"); startService(new Intent(MainActivity.this, service.class)); } } }); } প্রাইভেট বুলিয়ান isMyServiceRunning(Class> serviceClass) { ActivityManager manager =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); জন্য (ActivityManager.RunningServiceInfo পরিষেবা :manager.getRunningServices(Integer.MAX_VALUE)) { যদি (serviceClass.getName().equals(service.service.getClassName())) { সত্য ফেরত; } } রিটার্ন মিথ্যা; }}পরিষেবা শুরু এবং বন্ধ করার জন্য উপরের কোডে। আমরা অভিপ্রায় ব্যবহার করেছি এবং প্রসঙ্গ এবং পরিষেবা ক্লাস পাস করেছি। এখন প্যাকেজ ফোল্ডারে service.class নামে একটি সার্ভিস ক্লাস তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন –
প্যাকেজ com.example.andy.myapplication;Import android.annotation.TargetApi;Import android.app.Notification;import android.app.NotificationChannel;import android.app.NotificationManager;import android.app.PendingIntent;Android আমদানি করুন। app.Service;Import android.content.Context;Import android.content.Intent;Import android.graphics.Color;Import android.media.MediaPlayer;Import android.os.Build;Import android.os.IBinder; android.support আমদানি করুন .annotation.RequiresApi;import android.support.v4.app.NotificationCompat;আমদানি করুন android.widget.Toast;পাবলিক ক্লাস সার্ভিস প্রসারিত করে পরিষেবা { @Override public IBinder onBind(Intent intent) { রিটার্ন নাল; } @ওভাররাইড সর্বজনীন শূন্যতা onCreate() { super.onCreate(); } @TargetApi(Build.VERSION_CODES.O) @RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override public int onStartCommand(Intent intent, int ফ্ল্যাগ, int startId) { Toast.makeText, "ব্যবহারকারীর দ্বারা পরিষেবা শুরু হয়েছে। ", টোস্ট.LENGTH_LONG).শো(); স্ট্রিং NOTIFICATION_CHANNEL_ID ="com.example.andy.myapplication"; স্ট্রিং চ্যানেলের নাম ="আমার পটভূমি পরিষেবা"; NotificationChannel chan =নতুন NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_NONE); chan.setLightColor(Color.BLUE); chan.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE); NotificationManager ম্যানেজার =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); অ্যাসার্ট ম্যানেজার!=নাল; manager.createNotificationChannel(chan); অভিপ্রায় বিজ্ঞপ্তিIntent =নতুন অভিপ্রায় (এটি, MainActivity.class); PendingIntent pendingIntent =PendingIntent.getActivity(this, 0, notificationIntent, 0); বিজ্ঞপ্তি বিজ্ঞপ্তি =নতুন বিজ্ঞপ্তি।বিল্ডার(এই,NOTIFICATION_CHANNEL_ID) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("আমার দুর্দান্ত অ্যাপ") .setContentIntent(pendingIntent).build(); startForeground(1337, বিজ্ঞপ্তি); ফেরত START_STICKY; } @RequiresApi(api =Build.VERSION_CODES.N) @Override public void onDestroy() { super.onDestroy(); stopForeground(সত্য); Toast.makeText(এটি, "ব্যবহারকারীর দ্বারা বিজ্ঞপ্তি পরিষেবা ধ্বংস করা হয়েছে।", টোস্ট.LENGTH_LONG).show(); }}উপরের কোডে আমরা নোটিফিকেশন চ্যানেল এবং নোটিফিকেশন বিল্ডার ব্যবহার করেছি যা নিচে দেখানো হয়েছে –
স্ট্রিং NOTIFICATION_CHANNEL_ID ="com.example.andy.myapplication";স্ট্রিং channelName ="আমার ব্যাকগ্রাউন্ড সার্ভিস";NotificationChannel chan =new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_channel.ColorBight); .setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);NotificationManager ম্যানেজার =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);অ্যাসার্ট ম্যানেজার !=null;manager.createNotificationChannel(chan);Intent notification,Intenting innenting intenting(Netifications inctivity) PendingIntent.getActivity(this, 0, notificationIntent, 0);notification notification =new Notification.Builder(this,NOTIFICATION_CHANNEL_ID).setSmallIcon(R.mipmap.ic_launcher).setContentTitle("My Awesome App") ();startForeground(1337, বিজ্ঞপ্তি);ফোরগ্রাউন্ড শুরু এবং বন্ধ করতে নিম্নলিখিত কোডটি ব্যবহার করুন –
startForeground(1337, notification);stopForeground(true);পদক্ষেপ 4৷ - manifest.xml
-এ নিম্নলিখিত কোড যোগ করুন<অ্যাপ্লিকেশন android:allowBackup ="true" android:icon ="@mipmap/ic_launcher" android:label ="@string/app_name" android:roundIcon ="@mipmap/ic_launcher_round" android:supportsRtl ="সত্য " android:theme ="@style/AppTheme"> <অ্যাক্টিভিটি android:name =".MainActivity"> <শ্রেণি android:name ="android.intent.category.LAUNCHER" /> আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –
উপরের ফলাফলে একটি প্রাথমিক স্ক্রীন, টেক্সট ভিউতে ক্লিক করুন, এটি নীচে দেখানো হিসাবে বিজ্ঞপ্তি পরিষেবা শুরু করবে -
উপরের ফলাফলে, পরিষেবাটি শুরু হয়েছে এখন টেক্সট ভিউতে ক্লিক করুন, এটি নীচে দেখানো হিসাবে বিজ্ঞপ্তি পরিষেবা বন্ধ করবে -