2015-03-25 9 views
5

के साथ एंड्रॉइड 4.4 में शहरी एयरशिप पुश अधिसूचना आइकन मैं एंड्रॉइड में शहरी एयरशिप पुश अधिसूचना प्लगइन का उपयोग कर रहा हूं। सब कुछ ठीक काम कर रहा है लेकिन ऊपर एंड्रॉइड 4.4 में पुश अधिसूचना आइकन सफेद हो गया है और अधिसूचना आइकन नहीं दिखा रहा है। यह समस्या केवल लॉलीपॉप (> 4.4) में है। हर प्रकार की सहायता का स्वागत है, धन्यवाद।फोनगैप

enter image description here

उत्तर

6

ऐसा लगता है कि कि एसडीके 21 को लक्षित क्षुधा (लॉलीपॉप) माउस स्वचालित रूप से सफेद के लिए फ़िल्टर किया जाता है - Notification bar icon turns white in Android 5 Lollipop। तो यह तय करने के लिए, आप 20 के लिए लक्ष्य SDK संस्करण सेट सकते हैं, या आप मैन्युअल रूप से https://github.com/urbanairship/phonegap-ua-push/blob/master/src/android/PushAutopilot.java में विधि पर अमल की जगह शहरी हवाई पोत phonegap प्लगइन मैन्युअल रूप से संशोधित करने और आइकन सेट कर सकते हैं निम्नलिखित:

@Override 
public void execute(final Application application) { 
    // Parse cordova config options 
    AirshipOptions configOptions = new AirshipOptions(application); 
    final boolean enablePushOnLaunch = configOptions.getBoolean(ENABLE_PUSH_ONLAUNCH, false); 

    UAirship.takeOff(application, getAirshipConfig(application, configOptions), new UAirship.OnReadyCallback() { 
     @Override 
     public void onAirshipReady(UAirship airship) { 
      // Create a new notification factory 
      DefaultNotificationFactory defaultNotificationFactory = new DefaultNotificationFactory(application); 

      // Customize the notification icon and accent color 
      defaultNotificationFactory.setSmallIconId(R.drawable.ic_notification); 
      defaultNotificationFactory.setColor(NotificationCompat.COLOR_DEFAULT); 

      // Set the factory 
      airship.getPushManager().setNotificationFactory(defaultNotificationFactory); 

      if (enablePushOnLaunch) { 
       airship.getPushManager().setUserNotificationsEnabled(true); 
      } 
     } 
    }); 
} 

बदलें आपके प्रोजेक्ट में शामिल आइकन के साथ R.drawable_ic_notification

अद्यतन: प्लगइन का 3.0.0 जारी किया गया है जो आपको किसी भी कोड को संशोधित किए बिना कॉन्फ़िगरेशन में उच्चारण रंग और खींचने योग्य नाम निर्दिष्ट करने की अनुमति देता है।

<!-- Override the Android notification icon --> 
<preference name="com.urbanairship.notification_icon" value="ic_notification" /> 

<!-- Specify the notification accent color for Android API 21+ (Lollipop) --> 
<preference name="com.urbanairship.notification_accent_color" value="#0000ff" /> 

अधिक जानकारी यहां पाया जा सकता है - https://github.com/urbanairship/phonegap-ua-push

+0

उत्तर के लिए धन्यवाद, लेकिन हम UAirship वर्ग के हवाई पोत वस्तु कैसे बना सकते हैं। मुझे पूरा PushAutopilot.java फ़ाइल –

+0

दे रहा "onAirshipReady" विधि में इस कोड को जोड़ने की कोशिश कर रहा हूँ, लेकिन यह अपवाद देता है "java.lang.IllegalStateException: उतार बुलाया जाना चाहिए से पहले साझा() "। –

+0

मैंने आपको पूर्ण निष्पादन विधि देने के लिए अपना उदाहरण अपडेट किया। – ralepinski