एंड्रॉइड में नोटिफिकेशन एक्शन जोड़ना: पूरा गाइड
इस ट्यूटोरियल में हम सीखेंगे कि एंड्रॉइड ऐप में नोटिफिकेशन बनाते समय उसमें एक्शन बटन कैसे जोड़े जाते हैं। खासकर तब जब आपको ठीक तीन एक्शन बटन दिखाने हों।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें और File → New Project चुनें। सभी जरूरी जानकारी भरकर एक नया प्रोजेक्ट बनाएं।
चरण 2: लेआउट फाइल में कोड जोड़ें
res/layout/activity_main.xml में निम्नलिखित 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="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/btnCreateNotification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:text="Create Notification" />
</RelativeLayout>
चरण 3: MainActivity में लॉजिक लिखें
src/MainActivity.java में निम्नलिखित जावा कोड जोड़ें। ध्यान दें कि यहां तीन एक्शन बटन (addAction) जोड़े गए हैं:
package app.tutorialspoint.com.notifyme;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
public class MainActivity extends AppCompatActivity {
public static final String NOTIFICATION_CHANNEL_ID = "10001";
private final static String default_notification_channel_id = "default";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// चेक करें कि एक्टिविटी नोटिफिकेशन से शुरू हुई है या नहीं
if (getIntent().getExtras() != null) {
Bundle b = getIntent().getExtras();
boolean cameFromNotification = b.getBoolean("fromNotification");
Log.i("Came from notification", String.valueOf(cameFromNotification));
}
}
public void createNotification(View view) {
Intent notificationIntent = new Intent(getApplicationContext(), MainActivity.class);
notificationIntent.putExtra("fromNotification", true);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity.this, default_notification_channel_id);
mBuilder.setContentTitle("My Notification");
mBuilder.setContentIntent(pendingIntent);
// यहां तीन एक्शन बटन जोड़े गए हैं
mBuilder.addAction(new NotificationCompat.Action.Builder(R.drawable.ic_action, "Action1", pendingIntent).build());
mBuilder.addAction(new NotificationCompat.Action.Builder(R.drawable.ic_action, "Action2", pendingIntent).build());
mBuilder.addAction(new NotificationCompat.Action.Builder(R.drawable.ic_action, "Action3", pendingIntent).build());
mBuilder.setContentText("Notification Listener Service Example");
mBuilder.setTicker("Notification Listener Service Example");
mBuilder.setSmallIcon(R.drawable.ic_launcher_foreground);
mBuilder.setAutoCancel(true);
// Android Oreo (API 26) और ऊपर के लिए नोटिफिकेशन चैनल बनाएं
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "NOTIFICATION_CHANNEL_NAME", importance);
mBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
assert mNotificationManager != null;
mNotificationManager.createNotificationChannel(notificationChannel);
}
assert mNotificationManager != null;
mNotificationManager.notify((int) System.currentTimeMillis(), mBuilder.build());
}
}
चरण 4: AndroidManifest.xml अपडेट करें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.tutorialspoint.com.notifyme">
<uses-permission android:name="android.permission.VIBRATE" />
<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>
</application>
</manifest>
ऐप चलाएं और टेस्ट करें
अपना एंड्रॉइड डिवाइस कंप्यूटर से कनेक्ट करें। Android Studio में Run आइकन पर क्लिक करें और अपना डिवाइस चुनें। ऐप खुलने पर "Create Notification" बटन दबाएं। नोटिफिकेशन शेड में आपको तीन एक्शन बटन दिखाई देंगे।