2017-09-15 13 views
7

काम करता है इसलिए मैं अपना ऐप ओरेओ के साथ संगत बना रहा हूं और अधिसूचना के साथ समस्या का सामना कर रहा हूं।एंड्रॉइड ओरेओ अधिसूचना ध्वनि बनाते रहें, भले ही मैं ध्वनि सेट न करूं। पुराने संस्करण पर, पूरी तरह से

मैंने प्रलेखन के अनुसार अधिसूचना चैनल जोड़ा और अधिसूचना को छोड़कर सबकुछ चिकनी काम कर रहा है, प्रत्येक पोस्टिंग पर ध्वनि बनाते हुए, 0 को डिफ़ॉल्ट सेट करने का प्रयास किया।

मैं एमुलेटर में अपने ऐप का परीक्षण कर रहा हूं, किसी भी मदद की अत्यधिक सराहना की जाती है।

चैनल बनाने के लिए इस कोड को प्रयुक्त

NotificationCompat.Builder builder = new NotificationCompat.Builder(PlayerService.this, "channel_01") 
          .setAutoCancel(false) 
          .setContentIntent(pendingIntent) 
          .setContent(viewsSmall) 
          .setCustomBigContentView(viewsExpanded) 
          .setDeleteIntent(pSwipeToDismiss); 

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
       builder.setVisibility(Notification.VISIBILITY_PUBLIC); 
      } 

      if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) { 
       builder.setPriority(Notification.PRIORITY_MAX); 
      } 


      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 
          /* Create or update. */ 
       NotificationChannel channel = new NotificationChannel("channel_01", 
          "Playback Notification", 
          NotificationManager.IMPORTANCE_DEFAULT); 
        mNotificationManager.createNotificationChannel(channel); 
        mBuilder.setChannelId("channel_01"); 
       } 
    final Notification notification = builder.build(); 

        startForeground(Constants.NOTIFICATION_ID.FOREGROUND_SERVICE,notification); 
+0

अपने अधिसूचना भवन से संबंधित अपने सभी कोड को पोस्ट करें – Benjamin

+0

अधिसूचना पोस्ट करने के लिए मैं उपयोग कर रहा हूं पूरा कोड जोड़ा गया –

उत्तर

15

के साथ अपने कोड बदलें (अधिसूचना चैनल सेटिंग पर एक नजर डालें अपनी अधिसूचना स्वाइप और उसके अंतर्गत सेटिंग आइकन दबाएं और फिर अपने चैनल का चयन करें)। उन सेटिंग्स को पहली बार सेट किया जाता है जब आप चैनल बनाते हैं और तब तक संशोधित नहीं होते हैं जब तक आप डिवाइस में मैन्युअल रूप से ऐसा नहीं करते हैं (कम से कम यह मेरा ऐप अनइंस्टॉल करने और मेरे ऐप को पुनर्स्थापित करने का अनुभव है ताकि यह देखने के लिए कि डिफ़ॉल्ट रूप से मुझे कौन सी सेटिंग्स मिलती हैं)।

असल में, channel.setSound(null, null)केवल तब प्रभावी होगा जब आप ताजा इंस्टॉलेशन पर चैनल बनाते हैं। यही कारण है कि हो सकता है कि वे क्या में समझाने की कोशिश official guide:

अपने मूल मूल्यों के साथ एक मौजूदा अधिसूचना चैनल बनाने के लिए प्रयास कर रहा है कोई आपरेशन

करता है आपको लगता है कि गाइड का पालन करने की कोशिश की और NotificationManager.IMPORTANCE_HIGH सेट और नहीं था, तो channel.setSound(null, null) का उपयोग न करें, चैनल को डिफ़ॉल्ट ध्वनि के साथ महत्व स्तर Urgent Make sound and pop on screen मिलेगा।

+0

मेरे लिए ताज़ा स्थापना कार्यों पर चैनल सेट करना धन्यवाद! –

4

इस

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 
       /* Create or update. */ 
     NotificationChannel channel = new NotificationChannel("channel_01", 
       "Playback Notification", 
       NotificationManager.IMPORTANCE_LOW); 
     channel.setSound(null, null); 
     mNotificationManager.createNotificationChannel(channel); 
     mBuilder.setChannelId("channel_01"); 
    } 
+0

हाय बेंजामिन, कोशिश की, यह काम नहीं करता है। –

+0

यह मेरे लिए काम करता है – Benjamin

+0

क्या आप अपना पूरा अधिसूचना कोड –

संबंधित मुद्दे