Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android ऐप में बूट पर सर्विस कैसे शुरू करें?

बूट पूर्ण होने पर सर्विस शुरू करना

यह उदाहरण दर्शाता है कि BOOT_COMPLETED ब्रॉडकास्ट प्राप्त करके डिवाइस बूट होने पर बैकग्राउंड सर्विस कैसे शुरू करें।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: सिंपल लेआउट (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:layout_centerInParent="true"
        android:text="Hello World"
        android:textSize="24sp"
        android:textStyle="bold" />

</RelativeLayout>

चरण 3: Boot Receiver बनाएं (StartAppOnBoot.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);
        }
    }
}

चरण 4: बूट पर चलने वाली सर्विस (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 final String TAG = "MyService";
    private Handler handler;
    private Runnable runnable;
    private final int runTime = 5000; // 5 सेकंड

    @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;
    }
}

चरण 5: MainActivity.java में सर्विस शुरू करें

import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = new Intent(this, RunServiceOnBoot.class);
        startService(intent);
    }
}

चरण 6: AndroidManifest.xml में अनुमतियाँ और घटक रजिस्टर करें

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

    <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 ऐप में बूट पर सर्विस कैसे शुरू करें?

Android ऐप में बूट पर सर्विस कैसे शुरू करें?

  1. Android सर्विस को हमेशा बैकग्राउंड में कैसे चलाएं? Android सर्विस को हमेशा बैकग्राउंड में कैसे चलाएं?

    Android में फोरग्राउंड सर्विस के साथ बैकग्राउंड एक्सेक्यूशन यह उदाहरण दर्शाता है कि START_STICKY और onTaskRemoved का उपयोग करके एक सर्विस को बैकग्राउंड में कैसे चलाया जाए जो ऐप किल होने पर भी रीस्टार्ट होती है। ⚠ महत्वपूर्ण चेतावनी: Android 8.0 (API 26) से, बैकग्राउंड सर्विसेज पर सख्त प्रतिबंध हैं

  1. एंड्रॉइड में अलार्म मैनेजर का उपयोग करके सर्विस कैसे शुरू करें? एंड्रॉइड में अलार्म मैनेजर का उपयोग करके सर्विस कैसे शुरू करें?

    AlarmManager के साथ निर्धारित समय पर सर्विस शुरू करें यह उदाहरण दर्शाता है कि AlarmManager और PendingIntent का उपयोग करके निर्धारित समय पर बैकग्राउंड सर्विस कैसे शुरू करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट में Start/Stop बटन res/layout/activity_m

  1. Android ऐप को बूट पर ऑटो-स्टार्ट कैसे करें? Android ऐप को बूट पर ऑटो-स्टार्ट कैसे करें?

    बूट पर ऐप लॉन्च करना यह उदाहरण दर्शाता है कि डिवाइस बूट होने पर मुख्य एक्टिविटी को स्वचालित रूप से कैसे लॉन्च किया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से प्रोजेक्ट बनाएं। चरण 2: लेआउट (activity_main.xml) <?xml version=1.0 encoding=utf-8?> <RelativeLayout