Android 14 और इसके बाद के वर्शन में, स्पैम वाले विज्ञापन और क्रेडेंशियल फ़िशिंग को रोकने के लिए, फ़ुल-स्क्रीन पर सूचनाएं भेजने की डिफ़ॉल्ट USE_FULL_SCREEN_INTENT अनुमति सिर्फ़ उन ऐप्लिकेशन को दी जा सकती है जो कॉल और अलार्म की सुविधाएं देते हैं.
Android 14 पर इंस्टॉल किए जा रहे सभी ऐप्लिकेशन के लिए, USE_FULL_SCREEN_INTENT अनुमति डिफ़ॉल्ट रूप से चालू होती है. Google Play Store, इंस्टॉल किए जाने के बाद उन ऐप्लिकेशन के लिए फ़ुल-स्क्रीन इंटेंट (एफ़एसआई) की अनुमति रद्द कर देता है जिनमें कॉल करने या अलार्म की सुविधाएं नहीं होती हैं.
Android 13 या इससे पहले के वर्शन पर काम करने वाले फ़ोन पर इंस्टॉल किए गए ऐप्लिकेशन के लिए, USE_FULL_SCREEN_INTENT अनुमति डिफ़ॉल्ट रूप से चालू रहती है.
उपयोगकर्ता की अनुमति
Android 14 में, ऐप्लिकेशन NotificationManager#canUseFullScreenIntent() का इस्तेमाल करके यह देख सकते हैं कि उन्हें फ़ुल-स्क्रीन सूचनाएं भेजने की अनुमति है या नहीं. फ़ुल-स्क्रीन सूचनाएं भेजने के लिए, ऐप्लिकेशन को उपयोगकर्ता की अनुमति लेनी होती है. इसके लिए, वे ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT का इस्तेमाल करते हैं. इससे फ़ुल स्क्रीन के इंटेंट मैनेज करें सेटिंग लॉन्च होती है. इसे इमेज 1 में दिखाया गया है:
पहली इमेज. ऐप्लिकेशन को फ़ुल-स्क्रीन इंटेंट भेजने की अनुमति देने के लिए यूज़र इंटरफ़ेस.
फ़ुल स्क्रीन के इंटेंट मैनेज करें सेटिंग, सेटिंग मेन्यू में ऐप्लिकेशन को खास अनुमति के नीचे मौजूद होती है. इस यूज़र इंटरफ़ेस (यूआई) की मदद से, उपयोगकर्ता चाहें, तो इस अनुमति को रद्द कर सकते हैं.
ओईएम से जुड़ी ज़रूरी शर्तें
Android 14 में, ऐप्लिकेशन के लिए FSI की अनुमतियां डिफ़ॉल्ट रूप से चालू होती हैं. OEM को यह बताना होगा कि कौनसे ऐप्लिकेशन, FSI की अनुमतियों की ज़रूरी शर्तें पूरी करते हैं. ओईएम को यह पक्का करना होगा कि तीसरे पक्ष के ऐप्लिकेशन स्टोर, PackageInstaller.SessionParams का इस्तेमाल करके, अपने ऐप्लिकेशन के लिए FSI की अनुमतियों की शुरुआती स्थिति सेट करें. खास तौर पर, PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIED, और PERMISSION_STATE_GRANTED पैरामीटर के साथ.
सत्यापन
एफ़एसआई की सीमाओं की पुष्टि करने के लिए, NotificationFullScreenIntentVerifierActivity.java में CTS Verifier टेस्ट और NotificationManagerTest.java में CTS टेस्ट का इस्तेमाल करें.
मैन्युअल तरीके से जांच करने की सुविधा
अपने ऐप्लिकेशन पर FSI की सीमाओं को मैन्युअल तरीके से टेस्ट करने के लिए, यह तरीका अपनाएं:
- अपने ऐप्लिकेशन की
AndroidManifest.xmlफ़ाइल में,USE_FULL_SCREEN_INTENTका एलान करें. - FSI को चालू या बंद करने के लिए, सेटिंग मैनेज करने के लिए
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENTका इस्तेमाल करें. - अपने टेस्ट फ़ोन पर, फ़ुल-स्क्रीन सूचनाओं के लिए उपयोगकर्ता की अनुमति को मैन्युअल तरीके से टॉगल करें. जैसा कि पहली इमेज में दिखाया गया है.
- FSI सूचना भेजें.
- फ़ुल-स्क्रीन पर सूचनाएं दिखाने की अनुमति और डिसप्ले मोड के इन कॉम्बिनेशन के लिए, फ़ुल-स्क्रीन पर दिखने वाली सूचना की पुष्टि करें:
| FSI की अनुमति | अनलॉक की गई स्क्रीन | लॉक की गई स्क्रीन | स्क्रीन बंद होने पर | हमेशा चालू रहने वाला डिसप्ले (एओडी) |
| उपयोगकर्ता ने अनुमति दी है | पिल बटन के साथ, स्क्रीन पर सबसे ऊपर सूचना देने वाला कार्ड (एचयूएन) | FSI लॉन्च करें | FSI लॉन्च करें | FSI लॉन्च करें |
| उपयोगकर्ता ने अनुमति नहीं दी | HUN with pill buttons for 60s | पिल बटन के साथ HUN, सूची में 60 सेकंड तक सबसे ऊपर दिखता है | AOD चालू हो जाता है और 60 सेकंड के लिए पिल बटन के साथ HUN दिखता है | HUN with pill buttons for 60s |