pendingIntentの生成処理を統一

This commit is contained in:
ろむねこ 2024-07-11 14:51:59 +09:00
parent 37dd6b630a
commit 6a998d5718
No known key found for this signature in database
GPG Key ID: FA1F39A1BA37D168

View File

@ -37,6 +37,8 @@ public class TestService extends Service {
public static final String TAG = "InspirationQuote"; public static final String TAG = "InspirationQuote";
private static final String CHANNEL_ID = "child_guard_emergency"; private static final String CHANNEL_ID = "child_guard_emergency";
private static final int REQUEST_CODE = 100;
// ユーザーID // ユーザーID
private String userId = null; private String userId = null;
@ -137,15 +139,13 @@ public class TestService extends Service {
notificationManager.createNotificationChannel(channel); notificationManager.createNotificationChannel(channel);
} }
public void Notification(Context context) {//実際に通知を行うメソッド private PendingIntent getPendingIntent(Context context, int requestCode, int flags) {
final String CHANNEL_ID = "my_channel_id";
// 通知がクリックされたときに送信されるIntent
Intent intent = new Intent(context, MainActivity.class); Intent intent = new Intent(context, MainActivity.class);
intent.setAction("OPEN_ACTIVITY"); intent.setAction("OPEN_ACTIVITY");
// PendingIntentの作成 return PendingIntent.getActivity(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
int requestCode = 100; }
int flags = 0;
PendingIntent pendingIntent = PendingIntent.getActivity(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE); public void Notification(Context context) {//実際に通知を行うメソッド
((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(2000);//バイブレーション ((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(2000);//バイブレーション
@ -153,7 +153,7 @@ public class TestService extends Service {
.setSmallIcon(android.R.drawable.ic_menu_info_details) .setSmallIcon(android.R.drawable.ic_menu_info_details)
.setContentTitle("子供の置き去りをしていませんか?")//通知のタイトル .setContentTitle("子供の置き去りをしていませんか?")//通知のタイトル
.setContentText("第三者からの通報が行われました。")//通知の本文 .setContentText("第三者からの通報が行われました。")//通知の本文
.setContentIntent(pendingIntent)//通知をタップするとActivityへ移動する .setContentIntent(getPendingIntent(context, REQUEST_CODE, 0))//通知をタップするとActivityへ移動する
.setAutoCancel(true)//通知をタップすると削除する .setAutoCancel(true)//通知をタップすると削除する
.setPriority(NotificationCompat.PRIORITY_HIGH) // プライオリティを高く設定 .setPriority(NotificationCompat.PRIORITY_HIGH) // プライオリティを高く設定
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); // ロック画面に表示する .setVisibility(NotificationCompat.VISIBILITY_PUBLIC); // ロック画面に表示する
@ -172,14 +172,6 @@ public class TestService extends Service {
if (ActivityCompat.checkSelfPermission(this, if (ActivityCompat.checkSelfPermission(this,
android.Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) return; android.Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) return;
final String CHANNEL_ID = "my_channel_id";
// 通知がクリックされたときに送信されるIntent
Intent intent = new Intent(context, MainActivity.class);
intent.setAction("OPEN_ACTIVITY");
// PendingIntentの作成
int requestCode = 100;
int flags = 0;
PendingIntent pendingIntent = PendingIntent.getActivity(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (vibrator.hasVibrator()) { if (vibrator.hasVibrator()) {
@ -190,7 +182,7 @@ public class TestService extends Service {
.setSmallIcon(android.R.drawable.ic_menu_info_details) .setSmallIcon(android.R.drawable.ic_menu_info_details)
.setContentTitle("子供の置き去りをしていませんか?")//通知のタイトル .setContentTitle("子供の置き去りをしていませんか?")//通知のタイトル
.setContentText("Bluetoothと車の切断から5分が経過しました")//通知の本文 .setContentText("Bluetoothと車の切断から5分が経過しました")//通知の本文
.setContentIntent(pendingIntent)//通知をタップするとActivityへ移動する .setContentIntent(getPendingIntent(context, REQUEST_CODE, 0))//通知をタップするとActivityへ移動する
.setAutoCancel(true)//通知をタップすると削除する .setAutoCancel(true)//通知をタップすると削除する
.setPriority(NotificationCompat.PRIORITY_HIGH) // プライオリティを高く設定 .setPriority(NotificationCompat.PRIORITY_HIGH) // プライオリティを高く設定
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); // ロック画面に表示する .setVisibility(NotificationCompat.VISIBILITY_PUBLIC); // ロック画面に表示する