From 6a998d571854e6c814bf7fcd2b67a63d883fecc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Thu, 11 Jul 2024 14:51:59 +0900 Subject: [PATCH] =?UTF-8?q?pendingIntent=E3=81=AE=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/childguard/TestService.java | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/example/childguard/TestService.java b/app/src/main/java/com/example/childguard/TestService.java index ac91fe7..ee0a8cd 100644 --- a/app/src/main/java/com/example/childguard/TestService.java +++ b/app/src/main/java/com/example/childguard/TestService.java @@ -37,6 +37,8 @@ public class TestService extends Service { public static final String TAG = "InspirationQuote"; private static final String CHANNEL_ID = "child_guard_emergency"; + private static final int REQUEST_CODE = 100; + // ユーザーID private String userId = null; @@ -137,15 +139,13 @@ public class TestService extends Service { notificationManager.createNotificationChannel(channel); } - public void Notification(Context context) {//実際に通知を行うメソッド - final String CHANNEL_ID = "my_channel_id"; - // 通知がクリックされたときに送信されるIntent + private PendingIntent getPendingIntent(Context context, int requestCode, int flags) { 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); + return PendingIntent.getActivity(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE); + } + + public void Notification(Context context) {//実際に通知を行うメソッド ((Vibrator) getSystemService(Context.VIBRATOR_SERVICE)).vibrate(2000);//バイブレーション @@ -153,7 +153,7 @@ public class TestService extends Service { .setSmallIcon(android.R.drawable.ic_menu_info_details) .setContentTitle("子供の置き去りをしていませんか?")//通知のタイトル .setContentText("第三者からの通報が行われました。")//通知の本文 - .setContentIntent(pendingIntent)//通知をタップするとActivityへ移動する + .setContentIntent(getPendingIntent(context, REQUEST_CODE, 0))//通知をタップするとActivityへ移動する .setAutoCancel(true)//通知をタップすると削除する .setPriority(NotificationCompat.PRIORITY_HIGH) // プライオリティを高く設定 .setVisibility(NotificationCompat.VISIBILITY_PUBLIC); // ロック画面に表示する @@ -172,14 +172,6 @@ public class TestService extends Service { if (ActivityCompat.checkSelfPermission(this, 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); if (vibrator.hasVibrator()) { @@ -190,7 +182,7 @@ public class TestService extends Service { .setSmallIcon(android.R.drawable.ic_menu_info_details) .setContentTitle("子供の置き去りをしていませんか?")//通知のタイトル .setContentText("Bluetoothと車の切断から5分が経過しました")//通知の本文 - .setContentIntent(pendingIntent)//通知をタップするとActivityへ移動する + .setContentIntent(getPendingIntent(context, REQUEST_CODE, 0))//通知をタップするとActivityへ移動する .setAutoCancel(true)//通知をタップすると削除する .setPriority(NotificationCompat.PRIORITY_HIGH) // プライオリティを高く設定 .setVisibility(NotificationCompat.VISIBILITY_PUBLIC); // ロック画面に表示する