কম্পিউটার টিউটোরিয়াল

Android-এ বুট টাইমে সার্ভিস শুরু করার পদ্ধতি


বুট কমপ্লিট হলে সার্ভিস ও অ্যাক্টিভিটি শুরু করার উদাহরণ

এই উদাহরণটি দেখায় কিভাবে `BOOT_COMPLETED` ব্রডকাস্ট রিসিভ করে ডিভাইস রিবুট হলে স্বয়ংক্রিয়ভাবে সার্ভিস এবং অ্যাক্টিভিটি শুরু করা যায়।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project এ যান এবং প্রয়োজনীয় বিবরণ পূরণ করে একটি নতুন প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট XML-এ কোড যোগ করুন

res/layout/activity_main.xml ফাইলে নিচের কোডটি যোগ করুন:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="4dp"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="হ্যালো ওয়ার্ল্ড"
        android:textSize="24sp"
        android:layout_centerInParent="true"
        android:textStyle="bold"/>

</RelativeLayout>

ধাপ ৩: BroadcastReceiver ক্লাস তৈরি করুন (StartAppOnBoot.java)

নতুন একটি Java ক্লাস তৈরি করুন এবং নিচের কোডটি যোগ করুন:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class StartAppOnBoot extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent i = new Intent(context, MainActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
}

ধাপ ৪: সার্ভিস ক্লাস তৈরি করুন (RunServiceOnBoot.java)

নতুন একটি সার্ভিস ক্লাস তৈরি করুন এবং নিচের কোডটি যোগ করুন:

import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;

public class RunServiceOnBoot extends Service {

    private static String TAG = "MyService";
    private Handler handler;
    private Runnable runnable;
    private final int runTime = 5000; // ৫ সেকেন্ড

    @Override
    public void onCreate() {
        super.onCreate();
        Toast.makeText(this, "সার্ভিস শুরু হয়েছে", Toast.LENGTH_SHORT).show();
        Log.i(TAG, "onCreate");

        handler = new Handler();
        runnable = new Runnable() {
            @Override
            public void run() {
                handler.postDelayed(runnable, runTime);
            }
        };
        handler.post(runnable);
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onDestroy() {
        if (handler != null) {
            handler.removeCallbacks(runnable);
        }
        super.onDestroy();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }

    @SuppressWarnings("deprecation")
    @Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        Log.i(TAG, "onStart");
    }
}

ধাপ ৫: MainActivity.java-এ সার্ভিস শুরু করুন

src/MainActivity.java ফাইলে নিচের কোডটি যোগ করুন:

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent1 = new Intent(MainActivity.this, RunServiceOnBoot.class);
        startService(intent1);
    }
}

ধাপ ৬: AndroidManifest.xml-এ পারমিশন এবং কম্পোনেন্ট ডিক্লেয়ার করুন

androidManifest.xml ফাইলে নিচের কোডটি যোগ করুন:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <receiver android:name=".StartAppOnBoot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            </intent-filter>
        </receiver>

        <service android:name=".RunServiceOnBoot" />

    </application>
</manifest>

অ্যাপ্লিকেশন চালানোর পদ্ধতি

আপনার Android ডিভাইস কম্পিউটারের সাথে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের activity ফাইল খুলে টুলবারের Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস সিলেক্ট করুন এবং আউটপুট পরীক্ষা করুন। ডিভাইস রিবুট করলে সার্ভিস ও অ্যাক্টিভিটি স্বয়ংক্রিয় শুরু হবে।

Android-এ বুট টাইমে সার্ভিস শুরু করার পদ্ধতি

Android-এ বুট টাইমে সার্ভিস শুরু করার পদ্ধতি

Android-এ বুট টাইমে সার্ভিস শুরু করার পদ্ধতি

  1. অ্যান্ড্রয়েড অ্যাপ থেকে HTML ইমেইল পাঠানোর পদ্ধতি

  2. অ্যান্ড্রয়েডে ব্যাকগ্রাউন্ড সার্ভিস সবসময় চালানোর পদ্ধতি

  3. অ্যান্ড্রয়েডে AlarmManager ব্যবহার করে সার্ভিস শুরু করার পদ্ধতি

  4. Android-এ বুট টাইমে অ্যাপ্লিকেশন শুরু করার পদ্ধতি