3

電話番号から着信の名前を認識できるアプリを開発中です。(私たちの問題はこれと似ていますが、解決策は異なります) 着信通話の電話番号を受け取る CallScreeningService を作成し、通話があるたびに発信者 ID を示すトーストを表示できるようにしました。ただし、トーストを表示する代わりに、通知を表示したいと考えています。(また、真の発信者 Android アプリのように、Android ネイティブの着信画面にポップアップ ウィンドウを表示しようとしましたが、アプリがバックグラウンドまたは閉じた状態にある場合は表示できませんでした)通話ですが、画面に視覚的に表示されません。

電話の着信と同時に画面に通知を視覚的に表示することはできますか? はいの場合、どのように?

どうもありがとう!

4

1 に答える 1

0

アプリを居眠りモードで維持する方法を見つけたと仮定すると、通知のチャネルの重要度または通知の優先度を高または最大に設定する必要があります (補足: 通知チャネルの重要度は通知ビルダーの優先度をオーバーライドします)。

通知チャネル:

NotificationChannel chan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_HIGH);

通知ビルダー:

NotificationCompat.Builder mBuilder =
            (NotificationCompat.Builder) new NotificationCompat.Builder(context)
            .setSmallIcon(R.drawable.some_small_icon)
            .setContentTitle("Title")
            .setContentText("This is a test notification with MAX priority")
            .setPriority(Notification.PRIORITY_MAX);

Doze モードがアプリを強制終了している場合は、Return Service.START_STICKY; でフォアグラウンド サービスを使用できます。または WakefulBroadcastReceiver と startWakefulService() が混在しています。

于 2021-06-20T02:27:17.937 に答える