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

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

AlarmManager के साथ निर्धारित समय पर सर्विस शुरू करें

यह उदाहरण दर्शाता है कि AlarmManager और PendingIntent का उपयोग करके निर्धारित समय पर बैकग्राउंड सर्विस कैसे शुरू करें।

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

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

चरण 2: लेआउट में Start/Stop बटन

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16sp"
    android:orientation="vertical"
    android:gravity="center_horizontal">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnStartService"
        android:text="सर्विस अलार्म शुरू करें"
        android:layout_marginTop="30dp"/>

    <Button
        android:id="@+id/btnStopService"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="सर्विस रद्द करें"/>

</LinearLayout>

चरण 3: MainActivity.java में अलार्म सेट करें

package app.com.sample;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.util.Calendar;

public class MainActivity extends AppCompatActivity {
    Button btnStart, btnStop;
    PendingIntent pendingIntent;

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

        btnStart = findViewById(R.id.btnStartService);
        btnStop = findViewById(R.id.btnStopService);

        btnStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myIntent = new Intent(MainActivity.this, MyAlarmService.class);
                pendingIntent = PendingIntent.getService(MainActivity.this, 0, myIntent, PendingIntent.FLAG_IMMUTABLE);

                AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(System.currentTimeMillis());
                calendar.add(Calendar.SECOND, 3); // 3 सेकंड बाद

                assert alarmManager != null;
                alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

                Toast.makeText(MainActivity.this, "सर्विस अलार्म शुरू हो रहा है", Toast.LENGTH_LONG).show();
            }
        });

        btnStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
                assert alarmManager != null;
                alarmManager.cancel(pendingIntent);
                Toast.makeText(MainActivity.this, "सर्विस रद्द की गई", Toast.LENGTH_LONG).show();
            }
        });
    }
}

चरण 4: सर्विस क्लास बनाएं (MyAlarmService.java)

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.widget.Toast;

public class MyAlarmService extends Service {
    @Override
    public void onCreate() {
        Toast.makeText(this, "MyAlarmService.onCreate()", Toast.LENGTH_LONG).show();
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        Toast.makeText(this, "MyAlarmService.onBind()", Toast.LENGTH_LONG).show();
        return null;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "MyAlarmService.onDestroy()", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG).show();
    }

    @Override
    public boolean onUnbind(Intent intent) {
        Toast.makeText(this, "MyAlarmService.onUnbind()", Toast.LENGTH_LONG).show();
        return super.onUnbind(intent);
    }
}

चरण 5: मैनिफेस्ट में सर्विस घोषित करें

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

ऐप चलाएं

"सर्विस अलार्म शुरू करें" दबाएं, 3 सेकंड बाद सर्विस शुरू होगी और टोस्ट दिखाएगी।

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

  1. Android में अलार्म मैनेजर कैसे इम्प्लीमेंट करें? Android में अलार्म मैनेजर कैसे इम्प्लीमेंट करें?

    यह उदाहरण दर्शाता है कि Android में AlarmManager का उपयोग करके निर्धारित समय पर अलार्म कैसे सेट किया जाए और BroadcastReceiver से उसे कैसे प्राप्त किया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml - समय इनपुट और स्टार्ट बटन: &

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

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

  1. Android में JavaMail API से ईमेल कैसे भेजें? Android में JavaMail API से ईमेल कैसे भेजें?

    यह उदाहरण दर्शाता है कि Android ऐप में JavaMail API का उपयोग करके प्रोग्रामेटिकली ईमेल कैसे भेजा जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं। चरण 2: निर्भरताएं जोड़ें build.gradle (Module: app) में JavaMail निर्भरताएं जोड़ें: dependencies { implementation