<इस्तेमाल-सुविधा>

Google Play, <uses-feature> का इस्तेमाल करता है आपके ऐप्लिकेशन मेनिफ़ेस्ट में बताए गए एलिमेंट, ताकि डिवाइसों से आपके ऐप्लिकेशन को फ़िल्टर किया जा सके जो इसके हार्डवेयर और सॉफ़्टवेयर की सुविधाओं की ज़रूरी शर्तों को पूरा नहीं करते.

अपने ऐप्लिकेशन के लिए ज़रूरी सुविधाओं के बारे में बताकर, आपने Google Play को अपना ऐप्लिकेशन सिर्फ़ उन लोगों को दिखाने के लिए चालू किया है जिनके पास डिवाइस, ऐप्लिकेशन को दिखाने के बजाय उसकी सुविधा से जुड़ी ज़रूरी शर्तों को पूरा करते हों सभी उपयोगकर्ताओं के लिए है.

यह जानने के लिए कि Google Play, फ़िल्टर करने के लिए सुविधाओं का इस्तेमाल करता है. Google Play और सुविधा के हिसाब से फ़िल्टर करने की सुविधा सेक्शन देखें.

सिंटैक्स:
<uses-feature
  android:name="string"
  android:required=["true" | "false"]
  android:glEsVersion="integer" />
इसमें शामिल है:
<manifest>
विवरण:

एक हार्डवेयर या सॉफ़्टवेयर फ़ीचर की जानकारी देता है, जिसका इस्तेमाल का इस्तेमाल करें.

<uses-feature> एलान का मकसद, लोगों को यह जानकारी देना होता है हार्डवेयर और सॉफ़्टवेयर के सेट की किसी भी बाहरी इकाई ने आपकी आवेदन कई बातों पर निर्भर करता है. एलिमेंट ऐसा required एट्रिब्यूट देता है जो आपको यह बताने देता है कि आपके ऐप्लिकेशन की ज़रूरत है या नहीं और इसके बिना काम नहीं कर सकता जिस सुविधा का एलान किया गया है या जिसे उसका इस्तेमाल करना है, लेकिन वह काम कर सकती है उसके बिना.

अलग-अलग Android डिवाइसों पर यह सुविधा अलग-अलग तरह से काम करती है. इसलिए, <uses-feature> एलिमेंट की मदद से, ऐप्लिकेशन, डिवाइस-वैरिएबल सुविधाओं के बारे में बताता है.

उपलब्ध सुविधाओं का वह सेट जिसके बारे में आपका ऐप्लिकेशन एलान करता है सुविधा कॉन्सटेंट का सेट, जिसे Android PackageManager से उपलब्ध कराया गया है. विशेषता स्थिरांक यहां दिए गए हैं: सुविधाओं के बारे में जानकारी सेक्शन इस दस्तावेज़ को फिर से शुरू करें.

आपको हर सुविधा को अलग-अलग <uses-feature> में बताना होगा तत्व है, इसलिए यदि आपके एप्लिकेशन को एकाधिक सुविधाओं की आवश्यकता है, तो यह एक से ज़्यादा <uses-feature> एलिमेंट. उदाहरण के लिए, ऐप्लिकेशन जिसके लिए डिवाइस में ब्लूटूथ और कैमरे, दोनों सुविधाओं की ज़रूरत होती है ये दो एलिमेंट:

<uses-feature android:name="android.hardware.bluetooth" android:required="true" />
<uses-feature android:name="android.hardware.camera.any" android:required="true" />

आम तौर पर, हमेशा <uses-feature> एलिमेंट की मदद से, वे सभी सुविधाएं पाएं जो आपके आवेदन की आवश्यकता है.

बताया गया <uses-feature> एलिमेंट सिर्फ़ जानकारी के लिए है, जिसका मतलब है कि Android सिस्टम खुद ही मिलान करने की सुविधा की जांच नहीं करता किसी ऐप्लिकेशन को इंस्टॉल करने से पहले डिवाइस को फिर से चालू करें.

हालांकि, अन्य सेवाओं, जैसे कि Google Play और ऐप्लिकेशन आपके ऐप्लिकेशन की हैंडलिंग या इंटरैक्ट करने के दौरान, <uses-feature> एलान आपके आवेदन के साथ. इस वजह से, यह ज़रूरी है कि आप आपके ऐप्लिकेशन में इस्तेमाल की जाने वाली सुविधाएं.

कुछ सुविधाओं के लिए, एक खास विशेषता हो सकती है, जिसकी मदद से आप सुविधा का कोई वर्शन, जैसे कि Open GL का उपयोग किया गया वर्शन ( glEsVersion). अन्य सुविधाएं जो करती हैं या नहीं डिवाइस के लिए मौजूद होते हैं, जैसे कि कैमरा, तो उसका इस्तेमाल name एट्रिब्यूट.

हालांकि, <uses-feature> एलिमेंट सिर्फ़ इनके लिए चालू होता है एपीआई लेवल 4 या उसके बाद के लेवल वाले डिवाइसों में, ये एलिमेंट शामिल होते हैं भले ही, minSdkVersion 3 या उससे कम है. प्लैटफ़ॉर्म के पुराने वर्शन वाले डिवाइस को अनदेखा करने के लिए की मदद से पा सकते हैं.

ध्यान दें: किसी सुविधा का एलान करते समय, आपको ज़रूरी अनुमतियों के लिए भी अनुरोध करना होगा. उदाहरण के लिए, आपको CAMERA के लिए अनुरोध करो अनुमति दें, ताकि आपका ऐप्लिकेशन Camera API को ऐक्सेस कर सके. अनुरोध किया जा रहा है: अनुमति आपके ऐप्लिकेशन को उचित हार्डवेयर तक पहुंच देती है और सॉफ़्टवेयर डाउनलोड करें. आपके ऐप्लिकेशन में इस्तेमाल की जा रही सुविधाओं के बारे में बताने से, यह पक्का करने में मदद मिलती है कि डिवाइस पर काम करता है.

विशेषताएं:
android:name
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन में किसी हार्डवेयर या सॉफ़्टवेयर सुविधा को इस तौर पर बताता है: डिस्क्रिप्टर स्ट्रिंग. मान्य एट्रिब्यूट की वैल्यू, हार्डवेयर की सुविधाओं और सॉफ़्टवेयर सुविधाएं सेक्शन में जाएं. एट्रिब्यूट की ये वैल्यू केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होती हैं.
android:required
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
बूलियन मान जो संकेत देता है कि ऐप्लिकेशन के लिए सुविधा की ज़रूरत है या नहीं android:name में बताया गया है.
  • किसी सुविधा के लिए android:required="true" तय करने का मतलब है कि ऐप्लिकेशन काम नहीं कर रहा या नहीं काम करने के लिए डिज़ाइन किया गया है, जब तय की गई सुविधा डिवाइस.
  • किसी सुविधा के लिए android:required="false" तय करने का मतलब है कि ऐप्लिकेशन, इन पर मौजूद होने पर सुविधा का इस्तेमाल करता है होना चाहिए, लेकिन यह तय किए गए नियमों के बिना काम करने के लिए डिज़ाइन किया गया है सुविधा का इस्तेमाल करें.

android:required के लिए डिफ़ॉल्ट मान यह है "true".

android:glEsVersion
ऐप्लिकेशन के लिए OpenGL ES वर्शन ज़रूरी है. सबसे ज़्यादा 16 बिट मुख्य संख्या को दिखाता है और नीचे के 16 बिट, माइनर नंबर दिखाते हैं. इसके लिए उदाहरण के लिए, OpenGL ES वर्शन 2.0 तय करने के लिए, वैल्यू इस तरह सेट करें "0x00020000" का इस्तेमाल किया जाता है या OpenGL ES 3.2 को तय करने के लिए, वैल्यू को "0x00030002" के तौर पर सेट किया जाता है.

कोई ऐप्लिकेशन ज़्यादा से ज़्यादा एक android:glEsVersion तय करता है एट्रिब्यूट की वैल्यू शामिल करें. अगर यह एक से ज़्यादा के बारे में बताता है, तो सबसे ज़्यादा संख्या वाले android:glEsVersion का इस्तेमाल किया जाता है और किसी भी अन्य वैल्यू को अनदेखा कर दिया जाता है.

अगर कोई ऐप्लिकेशन android:glEsVersion तय नहीं करता विशेषता शामिल है, तो यह माना जाता है कि ऐप्लिकेशन के लिए सिर्फ़ OpenGL ES 1.0 की ज़रूरत है, जो Android पर चलने वाले सभी डिवाइसों पर काम करता है.

ऐप्लिकेशन यह मान सकता है कि अगर कोई प्लैटफ़ॉर्म किसी दिए गए OpenGL ES के साथ काम करता है वर्शन के साथ, यह संख्या के हिसाब से कम OpenGL ES वर्शन पर भी काम करता है. इसलिए, एक ऐसा ऐप्लिकेशन जिसके लिए OpenGL ES 1.0 और OpenGL ES 2.0, दोनों की ज़रूरत है, तो यह ज़रूरी है कि इसके लिए OpenGL ES 2.0 की ज़रूरत हो.

ऐसे ऐप्लिकेशन के लिए जो OpenGL ES के किसी भी वर्शन के साथ काम कर सके, इसकी ज़रूरत OpenGL ES का सिर्फ़ अंकों के हिसाब से सबसे कम वर्शन होना चाहिए. यह रनटाइम के दौरान यह जांच की जा सकती है कि OpenGL ES का ज़्यादा लेवल उपलब्ध है या नहीं.

OpenGL ES के इस्तेमाल के बारे में ज़्यादा जानकारी के लिए, साथ ही इसके साथ काम करने वाले OpenGL ES की जांच करने का तरीका जानें देखने के लिए, OpenGL ES एपीआई गाइड.

इसमें पेश किया गया:
एपीआई लेवल 4
यह भी देखें:

Google Play और सुविधा के हिसाब से फ़िल्टर करना

Google Play, लोगों को दिखने वाले ऐप्लिकेशन को फ़िल्टर करता है, ताकि उपयोगकर्ता केवल उन ऐप्स को देख और डाउनलोड कर सकते हैं जो उनके डिवाइस का इस्तेमाल किया जा सकता है. यह ऐप्लिकेशन को सुविधा के हिसाब से फ़िल्टर करने का एक तरीका है साथ काम करता है.

किसी उपयोगकर्ता के ऐप्लिकेशन की विशेषता उसके साथ काम करने के लिए Google Play की तुलना में:

  • ऐप्लिकेशन के लिए ज़रूरी सुविधाएं, जैसा कि इसमें बताया गया है ऐप्लिकेशन के मेनिफ़ेस्ट में <uses-feature> एलिमेंट शामिल हैं.
  • डिवाइस पर, हार्डवेयर या सॉफ़्टवेयर में उपलब्ध सुविधाएं, जैसा कि रिपोर्ट किया गया है रीड-ओनली सिस्टम प्रॉपर्टी इस्तेमाल करके.

सुविधाओं की सही तरीके से तुलना करने के लिए, Android पैकेज मैनेजर इससे फ़ीचर कॉन्सटेंट का ऐसा शेयर सेट मिलता है जो ऐप्लिकेशन और डिवाइसों, दोनों पर लागू होता है का इस्तेमाल, सुविधा की ज़रूरी शर्तों और सहायता के बारे में बताने के लिए किया जाता है. उपलब्ध फ़ीचर कॉन्सटेंट सुविधाओं के बारे में जानकारी सेक्शन में मौजूद हैं इस दस्तावेज़ और क्लास से जुड़े दस्तावेज़ में PackageManager.

जब उपयोगकर्ता Google Play लॉन्च करता है, तो ऐप्लिकेशन पैकेज मैनेजर से डिवाइस पर उपलब्ध सुविधाओं की सूची देखी जा सकती है. इसके लिए, इस नंबर पर कॉल करें getSystemAvailableFeatures(). कॉन्टेंट बनाने इसके बाद, स्टोर ऐप्लिकेशन, सुविधाओं की सूची को Google Play तक पास कर देता है उपयोगकर्ता के लिए सेशन शुरू करते समय.

Google Play Console में हर बार कोई ऐप्लिकेशन अपलोड करने पर, Google Play, ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल को स्कैन करता है. यह खोज करता है <uses-feature> एलिमेंट इकट्ठा करता है और कॉम्बिनेशन में उनका आकलन करता है साथ ही, कुछ मामलों में <uses-sdk> और <uses-permission> एलिमेंट. AdSense for YouTube खाता बनाने के बाद, ऐप्लिकेशन की आवश्यक सुविधाओं का सेट है, तो यह उस सूची को इस रूप में ऐप्लिकेशन के APK और ऐप्लिकेशन से जुड़ा मेटाडेटा वर्शन है.

जब कोई उपयोगकर्ता Google Play का उपयोग करके ऐप्लिकेशन खोजता है या ब्राउज़ करता है ऐप्लिकेशन है, तो सेवा प्रत्येक ऐप्लिकेशन के लिए ज़रूरी सुविधाओं की तुलना उपयोगकर्ता के डिवाइस पर उपलब्ध सुविधाएं. अगर किसी ऐप्लिकेशन को बनाना ज़रूरी हो, तो सुविधाएं मौजूद होती हैं, तो Google Play उपयोगकर्ता को डाउनलोड कर सकते हैं.

अगर कोई ज़रूरी सुविधा उपलब्ध नहीं है डिवाइस पर काम करता है, तो Google Play इस ऐप्लिकेशन को फ़िल्टर करता है, ताकि वह या डाउनलोड करने के लिए उपलब्ध हो.

क्योंकि आपने <uses-feature> में जिन सुविधाओं का एलान किया है एलिमेंट सीधे तौर पर इस बात पर असर डालते हैं कि Google Play आपके ऐप्लिकेशन को कैसे फ़िल्टर करता है. यह समझना ज़रूरी है कि Google Play, ऐप्लिकेशन के मेनिफ़ेस्ट का आकलन कैसे करता है और ज़रूरी सुविधाओं का सेट सेट अप करता है. इन सेक्शन में ज़्यादा जानकारी दी गई है जानकारी.

साफ़ तौर पर एलान की गई सुविधाओं के हिसाब से फ़िल्टर करना

स्पष्ट तौर पर घोषित सुविधा वह होती है जिसे आपका ऐप्लिकेशन <uses-feature> एलिमेंट. सुविधा के एलान में ये चीज़ें शामिल हो सकती हैं एक android:required=["true" | "false"] एट्रिब्यूट, अगर आप एपीआई लेवल 5 या उसके बाद वाले लेवल के हिसाब से कंपाइल करना.

इससे आपको यह तय करने में मदद मिलती है कि ऐप्लिकेशन के लिए सुविधा की ज़रूरत है और इसके बिना ठीक से काम नहीं कर सकता ("true") या इस सुविधा का इस्तेमाल करता है अगर उपलब्ध है, लेकिन उसे इसके बिना चलने के लिए डिज़ाइन किया गया है ("false").

Google Play, साफ़ तौर पर बताई गई सुविधाओं को इस तरह मैनेज करता है:

  • अगर किसी सुविधा की ज़रूरी के तौर पर साफ़ तौर पर एलान किया गया है, जैसा कि यहां दिखाया गया है, तो उदाहरण के लिए, Google Play सुविधा को ऐप्लिकेशन के लिए ज़रूरी सुविधाओं की सूची में जोड़ें. यह तब ऐसे डिवाइस पर उपयोगकर्ताओं के ऐप्लिकेशन को फ़िल्टर करता है जिनमें यह सुविधा उपलब्ध नहीं है.
    <uses-feature android:name="android.hardware.camera.any" android:required="true" />
    
  • अगर किसी सुविधा का साफ़ तौर पर एलान किया गया है कि वह ज़रूरी नहीं है, जैसा कि नीचे दिए गए उदाहरण में, Google Play, सुविधा को ज़रूरी सुविधाओं की सूची में नहीं जोड़ता. इसके लिए इसी वजह से, किसी साफ़ तौर पर घोषित गैर-ज़रूरी सुविधा पर तब कभी विचार नहीं किया जाता, जब ऐप्लिकेशन को फ़िल्टर करना. भले ही डिवाइस, एलान वाला फ़ॉर्म उपलब्ध न कराए सुविधा, Google Play अब भी इस ऐप्लिकेशन के साथ काम करता है, और इसे उपयोगकर्ता को दिखाता है, जब तक कि फ़िल्टर करने के दूसरे नियम लागू न हों.
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    
  • अगर किसी सुविधा का एलान साफ़ तौर पर किया गया है, लेकिन android:required एट्रिब्यूट सबमिट करता है, तो Google Play मानता है कि सुविधा ज़रूरी है और इसके आधार पर फ़िल्टर करने की सुविधा सेट अप करता है.

सामान्य रूप से, अगर आपका ऐप्लिकेशन Android 1.6 और इससे पहले के वर्शन पर चलने के लिए डिज़ाइन किया गया है, इसमें android:required एट्रिब्यूट उपलब्ध नहीं है API और Google Play यह मानता है कि <uses-feature> की जानकारी देना ज़रूरी है.

ध्यान दें: किसी सुविधा के बारे में साफ़ तौर पर जानकारी देकर और android:required="false" एट्रिब्यूट शामिल करके, ये काम किए जा सकते हैं वह खास सुविधा के लिए Google Play पर सभी फ़िल्टर को बंद कर देगा.

इंप्लिसिट सुविधाओं के आधार पर फ़िल्टर

इंप्लिसिट सुविधा वह होती है जिसकी ज़रूरत किसी ऐप्लिकेशन को ठीक से काम करता है, लेकिन इसका एलान नहीं किया जाता मेनिफ़ेस्ट फ़ाइल में <uses-feature> एलिमेंट होना चाहिए. सख्ती से बोलना हो, तो हर ऐप्लिकेशन के लिए बेहतर होगा कि वह हमेशा उन सभी सुविधाओं के बारे में बताता हो किसी ऐसी सुविधा का इस्तेमाल करता है या ज़रूरी करता है जिसका एलान किया गया है. आवेदन को गड़बड़ी माना जा सकता है.

हालांकि, सुरक्षा के उपाय के तौर पर उपयोगकर्ताओं और डेवलपर के लिए, Google Play हर ऐप्लिकेशन में इंप्लिसिट सुविधाएं खोजता है और उन सुविधाओं के लिए फ़िल्टर सेट अप करता है, जैसा कि यह सुविधाओं का एलान किया गया.

ऐप्लिकेशन में किसी सुविधा की ज़रूरत हो सकती है, लेकिन नीचे दी गई वजहों से वह उसकी जानकारी नहीं दे सकता:

  • ऐप्लिकेशन को Android लाइब्रेरी के पुराने वर्शन के हिसाब से कंपाइल किया गया था (Android 1.5 या इससे पहले के वर्शन में उपलब्ध). इसमें <uses-feature> एलिमेंट नहीं है उपलब्ध हैं.
  • डेवलपर गलत तरीके से यह मान लेता है कि सुविधा सभी प्लैटफ़ॉर्म पर मौजूद है और एलान की ज़रूरत नहीं है.
  • डेवलपर गलती से सुविधा के एलान को हटा देता है.
  • डेवलपर साफ़ तौर पर सुविधा के बारे में बताता है, लेकिन एलान में यह जानकारी नहीं दी गई है मान्य. उदाहरण के लिए, <uses-feature> में स्पेलिंग की गड़बड़ी तत्व नाम या android:name एट्रिब्यूट, सुविधा के एलान को अमान्य करता है.

ऐसे मामलों की वजह से, Google Play अन्य एलिमेंट की जांच करके, ऐप्लिकेशन में सुविधा की अनुमानित शर्तों के बारे में बताना का एलान किया गया है, खास तौर पर जिसका एलान किया गया है <uses-permission> एलिमेंट.

अगर कोई ऐप्लिकेशन हार्डवेयर से जुड़ी अनुमतियों का अनुरोध करता है, तो Google Play यह मानकर चलता है कि ऐप्लिकेशन बुनियादी हार्डवेयर सुविधाओं का इस्तेमाल करता है और इसलिए, उन सुविधाओं की ज़रूरत होती है, भले ही संबंधित <uses-feature> एलान. ऐसे में अनुमतियों के साथ, Google Play बुनियादी हार्डवेयर सुविधाओं को ऐप्लिकेशन के लिए सेव किया जाने वाला मेटाडेटा और उनके लिए फ़िल्टर सेट अप करता है.

उदाहरण के लिए, अगर कोई ऐप्लिकेशन CAMERA की अनुमति का अनुरोध करता है, Google Play मानता है कि ऐप्लिकेशन के लिए पीछे (दुनिया के सामने) कैमरा होना चाहिए, अगर ऐप्लिकेशन<uses-feature> android.hardware.camera. इस वजह से, Google Play डिवाइसों को फ़िल्टर कर देता है जिनमें बैक कैमरा नहीं है.

अगर आप नहीं चाहते कि Google Play, दिखाए गए किसी खास नतीजे के हिसाब से फ़िल्टर करे सुविधा के बारे में, <uses-feature> में साफ़ तौर पर जानकारी दें एलिमेंट जोड़ा जा सकता है और android:required="false" एट्रिब्यूट शामिल किया जा सकता है. इसके लिए उदाहरण के लिए, CAMERA की अनुमति के हिसाब से फ़िल्टर करने की सुविधा बंद करने के लिए, इन सुविधाओं के बारे में जानकारी दें:

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

चेतावनी: आपने जिन अनुमतियों का अनुरोध किया है <uses-permission> एलिमेंट सीधे तौर पर, Google के काम करने के तरीके पर असर डाल सकते हैं Play आपके ऐप्लिकेशन को फ़िल्टर करता है. कॉन्टेंट बनाने ऐसी अनुमतियां जिनमें सुविधा की ज़रूरी शर्तें लागू होती हैं सेक्शन में अनुमतियों का पूरा सेट जो किसी सुविधा की ज़रूरी शर्तें बताती है और जिसकी वजह से यह ट्रिगर होता है फ़िल्टर करना.

ब्लूटूथ की सुविधा को खास तरीके से हैंडल करने की सुविधा

जब Google Play ऊपर दिए गए उदाहरण में बताए गए नियमों से थोड़ा अलग नियम लागू करता है, तो ऐसा तब होता है, जब ब्लूटूथ के लिए फ़िल्टर होने का पता लगा रही है.

अगर कोई ऐप्लिकेशन, ब्लूटूथ को ऐक्सेस करने की अनुमति का एलान करता है, तो <uses-permission> एलिमेंट, लेकिन साफ़ तौर पर एलान नहीं करता <uses-feature> एलिमेंट, Google में ब्लूटूथ की सुविधा Play उस Android प्लैटफ़ॉर्म के वर्शन की जांच करता है जिस पर ऐप्लिकेशन, चलाने के लिए डिज़ाइन किया गया है, जैसा <uses-sdk> एलिमेंट में बताया गया है.

जैसा कि नीचे दी गई टेबल में दिखाया गया है, Google Play, ब्लूटूथ सुविधा सिर्फ़ तब उपलब्ध होती है, जब ऐप्लिकेशन अपने सबसे निचले हिस्से या टारगेट किए गए के बारे में बताता है Android 2.0 (एपीआई लेवल 5) या इसके बाद के वर्शन वाले प्लैटफ़ॉर्म के रूप में. हालांकि, ध्यान रखें कि Google Play फ़िल्टर करने के लिए सामान्य नियमों को तब लागू करता है, जब ऐप्लिकेशन साफ़ तौर पर ऐसा करता है <uses-feature> एलिमेंट में ब्लूटूथ सुविधा की जानकारी देता है.

टेबल 1. Google Play, ब्लूटूथ का अनुरोध करने वाले ऐप्लिकेशन के लिए ब्लूटूथ सुविधा की ज़रूरी शर्तें अनुमति देता है, लेकिन <uses-feature> एलिमेंट.

अगर minSdkVersion है ... और targetSdkVersion है नतीजा
<=4 या <uses-sdk> का एलान नहीं किया गया है <=4 Google Play किसी भी डिवाइस से ऐप्लिकेशन को फ़िल्टर नहीं करता android.hardware.bluetooth के लिए रिपोर्ट किए गए समर्थन के आधार पर सुविधा.
<=4 पांच या उससे ज़्यादा बार Google Play, ऐसे सभी डिवाइसों से ऐप्लिकेशन को फ़िल्टर कर देता है जिन पर android.hardware.bluetooth की सुविधा काम नहीं करती. जैसे, पुरानी रिलीज़).
पांच या उससे ज़्यादा बार पांच या उससे ज़्यादा बार

नीचे दिए गए उदाहरणों में, फ़िल्टर लागू करने के अलग-अलग असर के बारे में बताया गया है. यह जानकारी इस आधार पर दी गई है कि ब्लूटूथ की सुविधा Google Play मैनेज करता है.

पहले उदाहरण में, एक ऐसा ऐप्लिकेशन जिसे पुराने एपीआई लेवल पर चलाने के लिए डिज़ाइन किया गया है ब्लूटूथ की अनुमति की जानकारी देता है, लेकिन <uses-feature> एलिमेंट.
नतीजा: Google Play, ऐप्लिकेशन को किसी भी डिवाइस से फ़िल्टर नहीं करता.
<manifest ...>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" />
    ...
</manifest>
दूसरे उदाहरण में, यही ऐप्लिकेशन किसी टारगेट का एलान भी करता है एपीआई लेवल "5".
नतीजा: Google Play अब मानता है कि सुविधा की ज़रूरत है और ऐप्लिकेशन को ऐसे सभी डिवाइस से फ़िल्टर करता है जो ब्लूटूथ सहायता की रिपोर्ट नहीं करते, इनमें प्लैटफ़ॉर्म के पुराने वर्शन वाले डिवाइस भी शामिल हैं.
<manifest ...>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" />
    ...
</manifest>
यहां, वही ऐप्लिकेशन अब खास तौर पर ब्लूटूथ सुविधा के बारे में बताता है.
नतीजा: पिछले उदाहरण से मिलता-जुलता: फ़िल्टर लागू किया गया.
<manifest ...>
    <uses-feature android:name="android.hardware.bluetooth" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" />
    ...
</manifest>
अंत में, निम्नलिखित मामले में वही ऐप्लिकेशन एक android:required="false" एट्रिब्यूट का इस्तेमाल करें.
नतीजा: Google Play, ब्लूटूथ के आधार पर फ़िल्टर करने की सुविधा को बंद कर देता है सुविधा सभी डिवाइस पर काम करती है.
<manifest ...>
    <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" />
    ...
</manifest>

अपने ऐप्लिकेशन के लिए ज़रूरी सुविधाओं की जांच करें

Android SDK में शामिल किए गए aapt2 टूल का इस्तेमाल करके, यह तय किया जा सकता है कि ऐप्लिकेशन, एलान के मुताबिक Google Play आपके ऐप्लिकेशन को कैसे फ़िल्टर करेगा सुविधाएं और अनुमतियां. ऐसा करने के लिए, dump badging निर्देश के साथ aapt2 चलाएं. इससे aapt2 आपके साथ ही, उन नियमों को लागू करना होगा जिनका इस्तेमाल Google Play करता है. आपके ऐप्लिकेशन की ज़रूरत की सुविधाओं को तय करता है.

टूल का इस्तेमाल करने के लिए यह तरीका अपनाएं:

  1. अपना ऐप्लिकेशन बिना हस्ताक्षर वाले APK के तौर पर बनाएं और एक्सपोर्ट करें. अगर आपको Android Studio में ऐप्लिकेशन डेवलप करना है, तो Gradle के साथ अपना ऐप्लिकेशन बनाएं. इसका तरीका यहां बताया गया है:
    1. प्रोजेक्ट खोलें और Run > कॉन्फ़िगरेशन में बदलाव करना.
    2. Run/DebugView के सबसे ऊपर बाएं कोने के पास मौजूद प्लस का निशान चुनें कॉन्फ़िगरेशन विंडो.
    3. Gredle चुनें.
    4. "साइन नहीं किया गया APK" डालें नाम में.
    5. Gredle प्रोजेक्ट सेक्शन से अपना मॉड्यूल चुनें.
    6. "असेंबल करें" डालें Tasks में.
    7. नया कॉन्फ़िगरेशन पूरा करने के लिए, OK को चुनें.
    8. पक्का करें कि बिना हस्ताक्षर वाले APK का रन कॉन्फ़िगरेशन चुना गया हो क्लिक करें, और फिर Run > 'साइन नहीं किया गया APK' चलाएं.
    आपको अपना साइन नहीं किया गया APK, <ProjectName>/app/build/outputs/apk/ डायरेक्ट्री.
  2. अगर aapt2 टूल पहले से आपके PATH में नहीं है, तो उसे ढूंढें. अगर SDK टूल r8 या इसके बाद के वर्शन का इस्तेमाल किया जा रहा है, तो आपको aapt2 <SDK>/build-tools/<tools version number> डायरेक्ट्री.

    ध्यान दें: आपको aapt2 जो नए बिल्ड-टूल कॉम्पोनेंट के लिए दिया गया है. अगर आपने आपके पास बिल्ड-टूल का सबसे नया कॉम्पोनेंट नहीं है. इसे Android SDK Manager का इस्तेमाल करके डाउनलोड करें.

  3. इस सिंटैक्स का इस्तेमाल करके aapt2 चलाएं:
$ aapt2 dump badging <path_to_exported_.apk>

यहां दिखाए गए दूसरे ब्लूटूथ उदाहरण के लिए कमांड आउटपुट का एक उदाहरण दिया गया है पहले:

$ ./aapt2 dump badging BTExample.apk
package: name='com.example.android.btexample' versionCode='' versionName=''
uses-permission:'android.permission.BLUETOOTH_ADMIN'
uses-feature:'android.hardware.bluetooth'
sdkVersion:'3'
targetSdkVersion:'5'
application: label='BT Example' icon='res/drawable/app_bt_ex.png'
launchable activity name='com.example.android.btexample.MyActivity'label='' icon=''
uses-feature:'android.hardware.touchscreen'
main
supports-screens: 'small' 'normal' 'large'
locales: '--_--'
densities: '160'

सुविधाओं का रेफ़रंस

नीचे दिए सेक्शन में, हार्डवेयर की सुविधाओं के बारे में रेफ़रंस के तौर पर बताया गया है, सॉफ़्टवेयर की सुविधाओं और अनुमतियों के सेट को शामिल करने की अनुमति दें. ज़रूरतें.

हार्डवेयर से जुड़ी सुविधाएं

यह सेक्शन सबसे नए ओएस के साथ काम करने वाली हार्डवेयर सुविधाओं की जानकारी देता है प्लैटफ़ॉर्म रिलीज़ किया गया. यह बताना कि आपका ऐप्लिकेशन किसी हार्डवेयर का इस्तेमाल करता है या उसे इसकी ज़रूरत है सुविधा के आधार पर, संबंधित वैल्यू का एलान करें. इसकी शुरुआत android:name एट्रिब्यूट में "android.hardware". हर बार जब आप हार्डवेयर से जुड़ी सुविधा की जानकारी दें, तो किसी दूसरी सुविधा का इस्तेमाल करें <uses-feature> एलिमेंट.

ऑडियो हार्डवेयर की सुविधाएं

android.hardware.audio.low_latency
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस की इंतज़ार का समय कम करने वाली ऑडियो पाइपलाइन का इस्तेमाल करता है. इससे वीडियो के बीच के अंतर को कम किया जाता है और आवाज़ के इनपुट या आउटपुट को प्रोसेस करने में देरी हो सकती है.
android.hardware.audio.output
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के स्पीकर, ऑडियो जैक, ब्लूटूथ का इस्तेमाल करके आवाज़ ट्रांसमिट करता है या इसी तरह के अन्य तरीके इस्तेमाल कर सकते हैं.
android.hardware.audio.pro
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस की बेहतर ऑडियो सुविधाओं और परफ़ॉर्मेंस का इस्तेमाल करता है सुविधाएं.
android.hardware.microphone
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के माइक्रोफ़ोन का इस्तेमाल करके ऑडियो रिकॉर्ड करता है.

ब्लूटूथ हार्डवेयर की सुविधाएं

android.hardware.bluetooth
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस की ब्लूटूथ सुविधाओं का इस्तेमाल आम तौर पर बातचीत करने के लिए करता है अन्य ब्लूटूथ-चालू डिवाइस.
android.hardware.bluetooth_le
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के ब्लूटूथ स्मार्ट रेडियो की सुविधाओं का इस्तेमाल करता है.

कैमरा हार्डवेयर की सुविधाएं

ध्यान दें: अगर आपको अपने ऐप्लिकेशन को ग़ैर-ज़रूरी फ़िल्टर लगाने से रोकना है, तो Google Play, कैमरे की किसी भी सुविधा में android:required="false" जोड़ें आपका ऐप्लिकेशन इसके बिना भी काम कर सकता है. ऐसा न होने पर, Google Play यह मान लेता है कि सुविधा का इस्तेमाल करना ज़रूरी है. साथ ही, यह उन डिवाइसों को भी ऐक्सेस करने से रोकता है जो इस सुविधा के साथ काम नहीं करते हैं है.

बड़ी स्क्रीन सपोर्ट

बड़ी स्क्रीन वाले कुछ डिवाइसों में कैमरे की सभी सुविधाएं काम नहीं करतीं. Chromebook डिवाइस आम तौर पर, पीछे (वर्ल्ड फ़ेस) कैमरे, ऑटोफ़ोकस या फ़्लैश नहीं होते. लेकिन Chromebook डिवाइसों में सामने (उपयोगकर्ता के लिए) कैमरे होते हैं और अक्सर ये फ़ोन से कनेक्ट रहते हैं बाहरी कैमरे.

कैमरा से जुड़ी बुनियादी सहायता देने और अपना ऐप्लिकेशन ज़्यादा से ज़्यादा लोगों को उपलब्ध कराने के लिए कृपया अपने ऐप्लिकेशन में कैमरे की इन सुविधाओं की सेटिंग जोड़ें मेनिफ़ेस्ट:

<uses-feature android:name="android.hardware.camera.any" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />

अपने ऐप्लिकेशन के इस्तेमाल के उदाहरणों के हिसाब से, सुविधा की सेटिंग में बदलाव करें. हालांकि, बनाने के लिए आपका ऐप्लिकेशन ज़्यादा से ज़्यादा डिवाइसों पर उपलब्ध हो, तो हमेशा required एट्रिब्यूट की मदद से यह साफ़ तौर पर बताएं कि कोई सुविधा, ज़रूरी है.

सुविधाओं की सूची
android.hardware.camera.any

ऐप्लिकेशन, डिवाइस के किसी एक कैमरे या इससे कनेक्ट किए गए किसी बाहरी कैमरे का इस्तेमाल करता है डिवाइस. android.hardware.camera के बजाय इस सुविधा का इस्तेमाल करें या अगर आपका ऐप्लिकेशन यह नहीं करता है, तो android.hardware.camera.front कैमरे को पीछे (दुनिया) की तरफ़ या सामने (उपयोगकर्ता) की तरफ़ रखना ज़रूरी है, क्रम से.

CAMERA की अनुमति का मतलब है कि आपका ऐप्लिकेशन भी android.hardware.camera. बैक कैमरा होना ज़रूरी है सुविधा का इस्तेमाल तब तक नहीं किया जा सकता, जब तक कि android.hardware.camera का एलान न किया जाए android:required="false".

android.hardware.camera

यह ऐप्लिकेशन, डिवाइस के पीछे वाले कैमरे का इस्तेमाल करता है.

चेतावनी: Chromebook जैसे ऐसे डिवाइस जिनमें सिर्फ़ सामने वाले (उपयोगकर्ता के सामने वाले) कैमरे में यह सुविधा काम नहीं करती. इस्तेमाल की जाने वाली चीज़ें android.hardware.camera.any, अगर आपका ऐप्लिकेशन किसी भी कैमरे का इस्तेमाल कर सकता है, कैमरे की दिशा पर ध्यान दिए बिना.

ध्यान दें: CAMERA अनुमति का मतलब है कि बैक कैमरा एक ज़रूरी सुविधा है. इससे यह पक्का करने में मदद मिलती है कि जब आपके ऐप्लिकेशन मेनिफ़ेस्ट में CAMERA अनुमति, साफ़ तौर पर बताएं कि आपका ऐप्लिकेशन camera सुविधा और बताएं कि क्या यह ज़रूरी है. जैसे:
<uses-feature android:name="android.hardware.camera" android:required="false" />

android.hardware.camera.front

ऐप्लिकेशन, डिवाइस के सामने (इस्तेमाल करने वाले) के कैमरे का इस्तेमाल करता है.

CAMERA की अनुमति का मतलब है कि आपका ऐप्लिकेशन भी android.hardware.camera. बैक कैमरा होना ज़रूरी है सुविधा का इस्तेमाल तब तक नहीं किया जा सकता, जब तक कि android.hardware.camera का एलान न किया जाए android:required="false".

चेतावनी: अगर आपका ऐप्लिकेशन android.hardware.camera.front, लेकिन साफ़ तौर पर इसकी जानकारी नहीं दी गई है android.hardware.camera के साथ android.required="false", ऐसे डिवाइस जिनका बैक अप नहीं है कैमरे (जैसे कि Chromebook) को Google Play फ़िल्टर करता है. अगर आपके ऐप्लिकेशन में, सिर्फ़ फ़्रंट कैमरे वाले डिवाइसों के लिए, android.hardware.camera के तौर पर एलान किया जा सकता है: ग़ैर-ज़रूरी फ़िल्टर से बचने के लिए android.required="false".

android.hardware.camera.external

ऐप्लिकेशन, उस बाहरी कैमरे से संपर्क करता है जिससे उपयोगकर्ता कनेक्ट करता है डिवाइस. इस सुविधा से इस बात की गारंटी नहीं मिलती कि बाहरी कैमरा उपलब्ध है आपके ऐप्लिकेशन को इस्तेमाल करने के लिए.

CAMERA की अनुमति का मतलब है कि आपका ऐप्लिकेशन भी android.hardware.camera. बैक कैमरा होना ज़रूरी है सुविधा का इस्तेमाल तब तक नहीं किया जा सकता, जब तक कि android.hardware.camera का एलान न किया जाए android:required="false".

android.hardware.camera.autofocus

यह ऐप्लिकेशन, डिवाइस के कैमरे के साथ काम करने वाली ऑटोफ़ोकस सुविधा का इस्तेमाल करता है.

ध्यान दें: CAMERA अनुमति का मतलब है कि ऑटोफ़ोकस एक ज़रूरी सुविधा है. यह पक्का करने में मदद करने के लिए कि जब आपके ऐप्लिकेशन मेनिफ़ेस्ट में ये चीज़ें शामिल हों, तो Google Play पर फ़िल्टर करना CAMERA अनुमति में साफ़ तौर पर बताया गया है कि आपका ऐप्लिकेशन ऑटोफ़ोकस सुविधा के बारे में बताना होगा कि इसकी ज़रूरत है या नहीं, जैसे:
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />.

android.hardware.camera.flash

यह ऐप्लिकेशन, डिवाइस के कैमरे के साथ काम करने वाली फ़्लैश सुविधा का इस्तेमाल करता है.

android.hardware.camera.capability.manual_post_processing

यह ऐप्लिकेशन, MANUAL_POST_PROCESSING की उस सुविधा का इस्तेमाल करता है जो इसके साथ काम करती है डिवाइस के कैमरे पर.

इस सुविधा से आपका ऐप्लिकेशन, कैमरे के ऑटो व्हाइट बैलेंस को बदल सकता है काम करता है. android.colorCorrection.transform का इस्तेमाल करें, android.colorCorrection.gains और android.colorCorrection.mode का TRANSFORM_MATRIX.

android.hardware.camera.capability.manual_sensor

यह ऐप्लिकेशन, MANUAL_SENSOR की उस सुविधा का इस्तेमाल करता है जो इसके साथ काम करती है: डिवाइस का कैमरा इस्तेमाल किया है.

इस सुविधा का इस्तेमाल करके, ऑटो एक्सपोज़र लॉक किया जा सकता है (android.control.aeLock), इससे कैमरे का एक्सपोज़र चालू होता है समय और संवेदनशीलता को तय करें.

android.hardware.camera.capability.raw

यह ऐप्लिकेशन, डिवाइस के साथ काम करने वाली RAW सुविधा का इस्तेमाल करता है कैमरा.

इस सुविधा का मतलब है कि डिवाइस डीएनजी (रॉ) फ़ाइलें सेव कर सकता है. कॉन्टेंट बनाने का कैमरा आपके वीडियो के लिए ज़रूरी डीएनजी से जुड़ा मेटाडेटा उपलब्ध कराता है का इस्तेमाल करें.

android.hardware.camera.level.full
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, इमेज को कैप्चर करने के लिए FULL लेवल की सुविधा इस्तेमाल करता है में से कम से कम एक कैमरे के ज़रिए ऐक्सेस करने की कोशिश की जा सकती है. FULL की सहायता टीम में शामिल हैं बर्स्ट-कैप्चर क्षमताएं, हर फ़्रेम पर कंट्रोल, और मैन्युअल पोस्ट-प्रोसेसिंग नियंत्रण. यहां जाएं: INFO_SUPPORTED_HARDWARE_LEVEL_FULL.

डिवाइस यूज़र इंटरफ़ेस (यूआई) हार्डवेयर सुविधाएं

android.hardware.type.automotive

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

ध्यान दें: उपयोगकर्ता के डिवाइस में इस तरह के ऐप्लिकेशन यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करते समय ड्राइव कर रहा है, तो ऐप्लिकेशन को ड्राइवर को छोटा करना चाहिए ध्यान भटकाना.

android.hardware.type.television

(अब काम नहीं करता; इस्तेमाल करें इसके बजाय, android.software.leanback का इस्तेमाल करें.)

ऐप्लिकेशन को टेलीविज़न पर अपना यूज़र इंटरफ़ेस (यूआई) दिखाने के लिए डिज़ाइन किया गया है. यह सुविधा "टेलीविज़न" की तरह काम करता है: इस ऐप्लिकेशन पर बड़ी स्क्रीन पर, बहुत दूर बैठा हुआ व्यक्ति दिख रहा हो. जैसे कि माउस के बजाय डी-पैड की तरह कुछ इनपुट करना, पॉइंटर या टच डिवाइस का इस्तेमाल करें.

android.hardware.type.watch
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन को, स्मार्टवॉच पर अपना यूज़र इंटरफ़ेस (यूआई) दिखाने के लिए डिज़ाइन किया गया है. शरीर पर वॉच पहनी हुई है, जैसे कि कलाई पर. जब उपयोगकर्ता डिवाइस के बहुत करीब हो, उससे कैसे इंटरैक्ट करते हैं.
android.hardware.type.pc

ऐप्लिकेशन को Chromebook पर अपना यूज़र इंटरफ़ेस (यूआई) दिखाने के लिए डिज़ाइन किया गया है. यह सुविधा बंद हो जाती है माउस और टचपैड के लिए इनपुट एम्युलेटर का इस्तेमाल करें, क्योंकि Chromebook में माउस और टचपैड का इस्तेमाल टचपैड हार्डवेयर. यहां जाएं: माउस इनपुट.

ध्यान दें: इसके लिए required="false" सेट करें element; ऐसा न होने पर, Google Play Store आपके ऐप्लिकेशन को डिवाइसों के लिए उपलब्ध नहीं करा पाएगा शामिल हैं.

फ़िंगरप्रिंट से जुड़े हार्डवेयर की सुविधाएं

android.hardware.fingerprint
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के बायोमेट्रिक हार्डवेयर की मदद से फ़िंगरप्रिंट पढ़ता है.

गेमपैड के हार्डवेयर की सुविधाएं

android.hardware.gamepad
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस से या गेम कंट्रोलर के इनपुट को कैप्चर करता है कनेक्ट किए गए गेमपैड से.

इन्फ़्रारेड हार्डवेयर की सुविधाएं

android.hardware.consumerir
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस की इन्फ़्रारेड (आईआर) की क्षमताओं का इस्तेमाल करता है. आम तौर पर, अन्य उपभोक्ता IR उपकरणों से संपर्क कर सकते हैं.

जगह की जानकारी के हार्डवेयर की सुविधाएं

android.hardware.location
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है जगह का पता लगाने के लिए ऐप्लिकेशन, डिवाइस पर एक या उससे ज़्यादा सुविधाओं का इस्तेमाल करता है, जैसे कि जीपीएस की जगह, नेटवर्क की जगह या मोबाइल की जगह की जानकारी.
android.hardware.location.gps

यह ऐप्लिकेशन, ग्लोबल से मिले जगह की सटीक जानकारी का इस्तेमाल करता है डिवाइस पर पोज़िशनिंग सिस्टम (जीपीएस) रिसीवर.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह android.hardware.location सुविधा, जब तक कि यह पैरंट न हो सुविधा का एलान एट्रिब्यूट के साथ किया जाता है android:required="false".

android.hardware.location.network

ऐप्लिकेशन, नेटवर्क-आधारित जगह की अनुमानित जानकारी का इस्तेमाल करता है जियोलोकेशन सिस्टम, जो डिवाइस पर काम करता है.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह android.hardware.location सुविधा, जब तक कि यह पैरंट न हो सुविधा का एलान एट्रिब्यूट के साथ किया जाता है android:required="false".

एनएफ़सी हार्डवेयर की सुविधाएं

android.hardware.nfc
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस की नियर-फ़ील्ड कम्यूनिकेशन (एनएफ़सी) रेडियो सुविधाओं का इस्तेमाल करता है.
android.hardware.nfc.hce

ऐप्लिकेशन, डिवाइस पर होस्ट किए गए एनएफ़सी कार्ड एम्युलेशन का इस्तेमाल करता है.

OpenGL ES हार्डवेयर सुविधाएं

android.hardware.opengles.aep
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन इंस्टॉल किए गए OpenGL ES Android एक्सटेंशन पैक का इस्तेमाल करता है डिवाइस पर.

सेंसर के हार्डवेयर की सुविधाएं

android.hardware.sensor.accelerometer
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के एक्सलरोमीटर से मोशन रीडिंग का पता लगाता है डिवाइस का मौजूदा ओरिएंटेशन. उदाहरण के लिए, कोई ऐप्लिकेशन एक्सलरोमीटर रीडिंग से यह पता लगाना कि पोर्ट्रेट और विज़ुअल के बीच कब स्विच करना है लैंडस्केप ओरिएंटेशन.
android.hardware.sensor.ambient_temperature
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के आस-पास की जगह (एनवायरमेंट) तापमान मापने वाले सेंसर का इस्तेमाल करता है. इसके लिए उदाहरण के लिए, मौसम की जानकारी देने वाला कोई ऐप्लिकेशन, घर के अंदर या बाहर के तापमान की रिपोर्ट कर सकता है.
android.hardware.sensor.barometer
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के बैरोमीटर का इस्तेमाल करता है. उदाहरण के लिए, मौसम की जानकारी देने वाले किसी ऐप्लिकेशन में हवा के दबाव की जानकारी दो.
android.hardware.sensor.compass
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के मैग्नेटोमीटर (कम्पास) का इस्तेमाल करता है. उदाहरण के लिए, नेविगेशन ऐप उपयोगकर्ता की वर्तमान दिशा दिखा सकता है.
android.hardware.sensor.gyroscope
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के जाइरोस्कोप का इस्तेमाल करके, रोटेशन और ट्विस्ट का पता लगाता है. इससे ऐप्लिकेशन को जिसमें छह ऐक्सिस वाला ओरिएंटेशन सिस्टम मौजूद होता है. इस सेंसर का इस्तेमाल करके, कोई ऐप्लिकेशन ज़्यादा चीज़ों का पता लगा सकता है जब पोर्ट्रेट और लैंडस्केप के बीच स्विच करने की ज़रूरत हो, तब आसानी से ऐसा करें ओरिएंटेशन.
android.hardware.sensor.hifi_sensors
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के हाई फ़िडेलिटी (हाई-फ़ाई) सेंसर का इस्तेमाल करता है. उदाहरण के लिए, गेमिंग ऐप्लिकेशन, उपयोगकर्ता की बहुत ज़्यादा सटीक गतिविधि का पता लगा सकता है.
android.hardware.sensor.heartrate
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के धड़कन की दर का पता लगाने वाले मॉनिटर का इस्तेमाल करता है. उदाहरण के लिए, किसी फ़िटनेस ऐप्लिकेशन समय के साथ उपयोगकर्ता की धड़कन की दर में हुए रुझानों की रिपोर्ट कर सकती है.
android.hardware.sensor.heartrate.ecg
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के इलेक्ट्रोकार्डियोग्राम (ईसीजी) धड़कन की दर का पता लगाने वाला सेंसर इस्तेमाल करता है. इसके लिए उदाहरण के लिए, कोई फ़िटनेस ऐप्लिकेशन किसी उपयोगकर्ता की हृदय गति.
android.hardware.sensor.light
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के लाइट सेंसर का इस्तेमाल करता है. उदाहरण के लिए, कोई ऐप्लिकेशन आपको आस-पास की लाइटिंग के हिसाब से बनी दो कलर स्कीम में से एक शर्तें.
android.hardware.sensor.proximity
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस के प्रॉक्सिमिटी सेंसर का इस्तेमाल करता है. उदाहरण के लिए, टेलीफ़ोनी ऐप्लिकेशन जब ऐप्लिकेशन यह पता लगाता है कि उपयोगकर्ता डिवाइस को उनके शरीर के पास पकड़कर रखें.
android.hardware.sensor.relative_humidity
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के रिलेटिव ह्यूमिडिटी सेंसर का इस्तेमाल करता है. उदाहरण के लिए, मौसम ऐप, मौजूदा ओसांक का हिसाब लगाने और इसकी जानकारी देने के लिए, नमी का इस्तेमाल कर सकता है.
android.hardware.sensor.stepcounter
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के स्टेप काउंटर का इस्तेमाल करता है. उदाहरण के लिए, कोई फ़िटनेस ऐप्लिकेशन उन चरणों की संख्या रिपोर्ट करें, जिनकी मदद से उपयोगकर्ता को अपने रोज़ के कदम पूरे करने हैं गिनती का लक्ष्य.
android.hardware.sensor.stepdetector
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस के स्टेप डिटेक्टर का इस्तेमाल करता है. उदाहरण के लिए, कोई फ़िटनेस ऐप्लिकेशन चरणों के बीच के समय अंतराल का इस्तेमाल करके यह पता लगाएं कि उपयोगकर्ता कर रहे हैं.

स्क्रीन हार्डवेयर की सुविधाएं

android.hardware.screen.landscape
android.hardware.screen.portrait

ऐप्लिकेशन के लिए डिवाइस पर पोर्ट्रेट या लैंडस्केप ओरिएंटेशन का इस्तेमाल करना ज़रूरी है. अगर आपके ऐप्लिकेशन में दोनों ओरिएंटेशन काम करते हैं, तो आपको इसकी जानकारी देने की ज़रूरत नहीं है किसी भी सुविधा का इस्तेमाल करें.

उदाहरण के लिए, अगर आपके ऐप्लिकेशन को पोर्ट्रेट ओरिएंटेशन की ज़रूरत है, नीचे दी गई सुविधा के बारे में जानकारी दें, ताकि सिर्फ़ पोर्ट्रेट ओरिएंटेशन, हमेशा या उपयोगकर्ता की पसंद के हिसाब से, आपके ऐप्लिकेशन को चला सकता है:

<uses-feature android:name="android.hardware.screen.portrait" />

डिफ़ॉल्ट रूप से, दोनों ओरिएंटेशन की ज़रूरत नहीं होती है. इसलिए, आपका ऐप्लिकेशन उन डिवाइसों पर इंस्टॉल किए जा सकते हैं जो एक या दोनों ओरिएंटेशन पर काम करते हैं. हालांकि, अगर आपकी कोई भी गतिविधि किसी खास ओरिएंटेशन (स्क्रीन की दिशा) में चलने के लिए अनुरोध करती हो, android:screenOrientation एट्रिब्यूट का इस्तेमाल करते हैं, तो इस एलान को लागू करता है के लिए है, जिसके लिए आपके ऐप्लिकेशन को उस ओरिएंटेशन की ज़रूरत है.

उदाहरण के लिए, अगर आपने android:screenOrientation में "landscape", "reverseLandscape" या "sensorLandscape" का इस्तेमाल करें, तो आपका ऐप्लिकेशन यह सुविधा सिर्फ़ ऐसे डिवाइसों पर उपलब्ध है जो लैंडस्केप ओरिएंटेशन के साथ काम करते हैं.

सबसे सही तरीके के तौर पर, इसके लिए अपनी ज़रूरी शर्त का एलान करें <uses-feature> एलिमेंट का इस्तेमाल करके स्क्रीन की दिशा. अगर आपने एलान किया android:screenOrientation का इस्तेमाल करके, आपकी गतिविधि के लिए ओरिएंटेशन का इस्तेमाल करें, लेकिन इसे इस्तेमाल न करें की ज़रूरत होती है, तो आप <uses-feature> एलिमेंट के साथ ओरिएंटेशन का एलान करके ज़रूरी शर्त को बंद करें. साथ ही, इसमें android:required="false" शामिल करें.

Android 3.1 (एपीआई लेवल 12) पर काम करने वाले सभी डिवाइसों पर पुराने सिस्टम के साथ काम करने की सुविधा के लिए या उससे कम, लैंडस्केप और पोर्ट्रेट ओरिएंटेशन, दोनों में काम करता हो.

टेलीफ़ोनी हार्डवेयर सुविधाएं

android.hardware.telephony
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, डिवाइस की टेलीफ़ोनी सुविधाओं का इस्तेमाल करता है. जैसे, टेलीफ़ोनी रेडियो कई अन्य टूल उपलब्ध कराता है.
android.hardware.telephony.cdma

यह ऐप्लिकेशन, कोड डिवीज़न मल्टीपल ऐक्सेस (सीडीएमए) टेलीफ़ोनी रेडियो का इस्तेमाल करता है सिस्टम.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह android.hardware.telephony सुविधा, जब तक कि यह पैरंट न हो सुविधा के बारे में android:required="false" के साथ एलान किया गया है.

android.hardware.telephony.gsm

यह ऐप्लिकेशन, ग्लोबल सिस्टम फ़ॉर मोबाइल कम्यूनिकेशन (जीएसएम) टेलीफ़ोनी का इस्तेमाल करता है रेडियो सिस्टम.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह android.hardware.telephony सुविधा, जब तक कि यह पैरंट न हो सुविधा के बारे में android:required="false" के साथ एलान किया गया है.

टचस्क्रीन हार्डवेयर की सुविधाएं

android.hardware.faketouch

यह ऐप्लिकेशन, टच इंटरैक्शन वाले बेसिक इवेंट का इस्तेमाल करता है. जैसे, टैप करना और खींचकर छोड़ें.

ज़रूरत पड़ने पर, इस सुविधा से पता चलता है कि ऐप्लिकेशन किसी डिवाइस के साथ सिर्फ़ तब काम करता है, जब उस डिवाइस में "फ़ेक टच" जैसा अनुभव दिया गया हो या इसमें कोई असली टचस्क्रीन हो.

नकली टच इंटरफ़ेस वाला डिवाइस, जो उपयोगकर्ता को इनपुट सिस्टम देता है जो टचस्क्रीन की क्षमताओं के एक सबसेट की तरह काम करती है. उदाहरण के लिए, माउस या रिमोट कंट्रोल से ऑन-स्क्रीन कर्सर की सुविधा का इस्तेमाल किया जा सकता है.

अगर आपका ऐप्लिकेशन बेसिक पॉइंट और क्लिक इंटरैक्शन की ज़रूरत होती है और यह काम नहीं करता सिर्फ़ डी-पैड कंट्रोलर का इस्तेमाल करके, इस सुविधा के बारे में बताएं. क्योंकि यह टच इंटरैक्शन का न्यूनतम स्तर है, इसलिए आप किसी ऐप जो ज़्यादा कॉम्प्लेक्स टच ऑफ़र करने वाले डिवाइसों पर इस सुविधा के बारे में बताता है इंटरफ़ेस.

ऐप्लिकेशन के लिए ज़रूरी है कि android.hardware.faketouch सुविधा. अगर आपको अपने ऐप्लिकेशन को सिर्फ़ टचस्क्रीन वाले डिवाइसों तक सीमित रखें. साफ़ तौर पर बताना होगा कि टचस्क्रीन की सुविधा का इस्तेमाल करना ज़रूरी है:

<uses-feature android:name="android.hardware.touchscreen"
    android:required="true" />

वे सभी ऐप्लिकेशन जिनके लिए साफ़ तौर पर ज़रूरत नहीं होती android.hardware.touchscreen, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है, साथ ही android.hardware.faketouch वाले डिवाइसों पर काम करता है.

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
android.hardware.faketouch.multitouch.distinct

ऐप्लिकेशन दो या इससे ज़्यादा अलग-अलग "उंगलियों" को ट्रैक करता है कर रहे हैं. यह android.hardware.faketouch का सुपरसेट है सुविधा. ज़रूरत पड़ने पर, इस सुविधा से पता चलता है कि ऐप्लिकेशन किसी डिवाइस के साथ सिर्फ़ तब काम करता है, जब वह डिवाइस या जिसमें कोई असली टचस्क्रीन हो.

android.hardware.touchscreen.multitouch.distinct में बताए गए अलग मल्टीटच के उलट, ऐसे इनपुट डिवाइस जिनमें अलग-अलग मल्टीटच के साथ काम करता है और नकली टच इंटरफ़ेस काम करता है. यह सभी वर्शन पर काम नहीं करता दो उंगलियों से किए जाने वाले हाथ के जेस्चर, क्योंकि इनपुट, कर्सर की गतिविधि में बदल जाता है स्क्रीन पर. इसका मतलब है कि ऐसे डिवाइस पर एक उंगली से किए जाने वाले हाथ के जेस्चर (हाव-भाव) को कर्सर, दो उंगलियों से स्वाइप करने से, एक उंगली से किए जाने वाले टच इवेंट होते हैं और दो उंगलियों से किए जाने वाले अन्य जेस्चर, काम करने वाले दो उंगलियों के टच को ट्रिगर करते हैं इवेंट.

ऐसा डिवाइस जिसमें कर्सर को घुमाने के लिए, दो उंगलियों वाला टच ट्रैकपैड दिया गया है इस सुविधा का इस्तेमाल किया जा सकता है.

android.hardware.faketouch.multitouch.jazzhand

ऐप्लिकेशन, पांच या इससे ज़्यादा अलग-अलग "उंगलियों" को ट्रैक करता है कर रहे हैं. यह android.hardware.faketouch का सुपरसेट है सुविधा. ज़रूरत पड़ने पर, इस सुविधा से पता चलता है कि ऐप्लिकेशन किसी डिवाइस के साथ सिर्फ़ तब काम करता है, जब वह डिवाइस या जिसमें कोई असली टचस्क्रीन हो.

android.hardware.touchscreen.multitouch.jazzhand में बताए गए अलग मल्टीटच के उलट, ऐसे इनपुट डिवाइस जिनमें CANNOT TRANSLATE पांच उंगलियों वाले जेस्चर, क्योंकि इनपुट, कर्सर की गतिविधि में बदल जाता है स्क्रीन पर. इसका मतलब है कि ऐसे डिवाइस पर एक उंगली से किए जाने वाले हाथ के जेस्चर (हाव-भाव) को कर्सर, एक से ज़्यादा उंगलियों से किए जाने वाले हाथ के जेस्चर की वजह से, एक उंगली से किए जाने वाले टच इवेंट होते हैं. और एक से ज़्यादा उंगलियों से किए जाने वाले अन्य जेस्चर, आपकी चुनी गई एक से ज़्यादा उंगलियों से ट्रिगर होने वाले जेस्चर को ट्रिगर करते हैं टच इवेंट.

ऐसा डिवाइस जिसमें कर्सर को घुमाने के लिए, पांच उंगलियों वाला टच ट्रैकपैड मिलता है इस सुविधा का इस्तेमाल किया जा सकता है.

android.hardware.touchscreen

यह ऐप्लिकेशन हाथ के जेस्चर के लिए, डिवाइस की टचस्क्रीन की सुविधाओं का इस्तेमाल करता है फ़्लिंग जैसे बेसिक टच इवेंट के मुकाबले ज़्यादा इंटरैक्टिव. यह है android.hardware.faketouch सुविधा का सुपरसेट.

डिफ़ॉल्ट रूप से, सभी ऐप्लिकेशन के लिए यह सुविधा ज़रूरी होती है. इसलिए, वे उन डिवाइसों के लिए उपलब्ध है जो सिर्फ़ सिम्युलेटेड "फ़ेक टच" की सुविधा देते हैं इंटरफ़ेस पर कॉपी करने की सुविधा मिलती है. अपना ऐप्लिकेशन इन डिवाइसों पर उपलब्ध कराया जा सकता है जो नकली टच इंटरफ़ेस उपलब्ध कराते हैं या उन डिवाइसों पर भी जो सिर्फ़ डी-पैड कंट्रोलर से यह साफ़ तौर पर बताया जाता है कि टचस्क्रीन इसके साथ android.hardware.touchscreen का इस्तेमाल करना ज़रूरी नहीं है android:required="false". यह एलान जोड़ें, अगर आपका ऐप्लिकेशन, असल टचस्क्रीन इंटरफ़ेस का इस्तेमाल करता है. हालांकि, इसकी ज़रूरत नहीं है. सभी ऐसे ऐप्लिकेशन जिनके लिए खास तौर पर, android.hardware.touchscreen, ऐसे डिवाइसों पर भी काम करता है जिनमें android.hardware.faketouch.

अगर आपके ऐप्लिकेशन को असल में टच इंटरफ़ेस की ज़रूरत है, जैसे कि ज़्यादा बेहतर काम करने के लिए जैसे कि फ़्लिंग्स, टच जेस्चर, तो आपको किसी भी टच के बारे में बताने की ज़रूरत नहीं होती इंटरफ़ेस फ़ीचर के लिए उपलब्ध है, क्योंकि वे डिफ़ॉल्ट रूप से ज़रूरी होती हैं. हालांकि, यह सबसे अच्छा है, अगर आप अपने ऐप्लिकेशन में इस्तेमाल की जाने वाली सभी सुविधाओं के बारे में साफ़ तौर पर बताते हैं.

अगर आपको टच इंटरैक्शन ज़्यादा मुश्किल चाहिए, जैसे कि एक से ज़्यादा उंगलियों से किए जाने वाले जेस्चर जेस्चर, एलान करें कि आपका ऐप्लिकेशन बेहतर टचस्क्रीन का इस्तेमाल करता है सुविधाएँ.

android.hardware.touchscreen.multitouch

ऐप्लिकेशन, डिवाइस की बेसिक टू-पॉइंट मल्टीटच क्षमताओं का इस्तेमाल करता है, जैसे जैसे कि पिंच जेस्चर के लिए, लेकिन ऐप्लिकेशन को टच ट्रैक करने की ज़रूरत नहीं है स्वतंत्र रूप से काम करता है. यह इसका सुपरसेट है android.hardware.touchscreen सुविधा.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह android.hardware.touchscreen सुविधा, जब तक कि यह पैरंट न हो सुविधा के बारे में android:required="false" के साथ एलान किया गया है.

android.hardware.touchscreen.multitouch.distinct

ऐप्लिकेशन, ट्रैकिंग के लिए डिवाइस की बेहतर मल्टीटच क्षमताओं का इस्तेमाल करता है अलग-अलग दो या उससे ज़्यादा पॉइंट. यह सुविधा, android.hardware.touchscreen.multitouch सुविधा.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह हालांकि, android.hardware.touchscreen.multitouch सुविधा में यह शामिल नहीं होगा पैरंट सुविधा का एलान android:required="false" के साथ किया गया है.

android.hardware.touchscreen.multitouch.jazzhand

ऐप्लिकेशन, ट्रैकिंग के लिए डिवाइस की बेहतर मल्टीटच क्षमताओं का इस्तेमाल करता है अलग-अलग पांच या उससे ज़्यादा पॉइंट. यह सुविधा, android.hardware.touchscreen.multitouch सुविधा.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह हालांकि, android.hardware.touchscreen.multitouch सुविधा में यह शामिल नहीं होगा पैरंट सुविधा का एलान android:required="false" के साथ किया गया है.

यूएसबी हार्डवेयर की सुविधाएं

android.hardware.usb.accessory
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, यूएसबी डिवाइस की तरह काम करता है और यूएसबी होस्ट से कनेक्ट करता है.
android.hardware.usb.host
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस से कनेक्ट की गई यूएसबी ऐक्सेसरी का इस्तेमाल करता है. कॉन्टेंट बनाने डिवाइस, यूएसबी होस्ट के तौर पर काम करता है.

Vulkan हार्डवेयर की सुविधाएं

android.hardware.vulkan.compute
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, Vulkan कंप्यूट की सुविधाओं का इस्तेमाल करता है. इस सुविधा से पता चलता है कि ऐप्लिकेशन को हार्डवेयर से तेज़ी लाने की ज़रूरत है Vulkan को लागू करना. सुविधा वर्शन बताता है कि कौनसा लेवल वैकल्पिक है कंप्यूट की ऐसी सुविधाएं जो ऐप्लिकेशन के लिए Vulkan 1.0 की ज़रूरी शर्तों के अलावा, अन्य ज़रूरी शर्तें भी पूरी करती हैं. उदाहरण के लिए, अगर आपका ऐप्लिकेशन इस सुविधा के लिए, Vulkan कंप्यूट लेवल 0 की सुविधा देना ज़रूरी है. इसके लिए, इस सुविधा का एलान करें:
<uses-feature
    android:name="android.hardware.vulkan.compute"
    android:version="0"
    android:required="true" />
सुविधा के वर्शन के बारे में ज़्यादा जानने के लिए, FEATURE_VULKAN_HARDWARE_COMPUTE पर जाएं.
android.hardware.vulkan.level
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, Vulkan लेवल की सुविधाओं का इस्तेमाल करता है. इस सुविधा से पता चलता है कि ऐप्लिकेशन को हार्डवेयर से तेज़ी से Vulkan को लागू करना. सुविधा वर्शन बताता है कि कौनसा लेवल वैकल्पिक है इस ऐप्लिकेशन के लिए ज़रूरी हार्डवेयर सुविधाएं. उदाहरण के लिए, अगर आपके ऐप्लिकेशन को Vulkan हार्डवेयर लेवल 0 की ज़रूरत है सहायता करते हैं, तो नीचे दी गई सुविधा के बारे में बताएं:
<uses-feature
    android:name="android.hardware.vulkan.level"
    android:version="0"
    android:required="true" />
सुविधा के वर्शन के बारे में ज़्यादा जानकारी के लिए, FEATURE_VULKAN_HARDWARE_LEVEL पर जाएं.
android.hardware.vulkan.version
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन Vulkan का इस्तेमाल करता है. इस सुविधा से पता चलता है कि ऐप्लिकेशन को हार्डवेयर से तेज़ी लाने की ज़रूरत है Vulkan को लागू करना. सुविधा के वर्शन से पता चलता है कि यह वर्शन, Vulkan API के साथ काम करने वाले कम से कम वर्शन पर काम करता है या नहीं के लिए ज़रूरी है. उदाहरण के लिए, अगर आपके ऐप्लिकेशन को Vulkan 1.0 वर्शन के साथ काम करने की ज़रूरत है, तो ये सुविधाएं उपलब्ध हैं:
<uses-feature
    android:name="android.hardware.vulkan.version"
    android:version="0x400003"
    android:required="true" />
सुविधा के वर्शन के बारे में ज़्यादा जानने के लिए, FEATURE_VULKAN_HARDWARE_VERSION पर जाएं.

वाई-फ़ाई हार्डवेयर की सुविधाएं

android.hardware.wifi
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस पर 802.11 नेटवर्किंग (वाई-फ़ाई) सुविधाओं का इस्तेमाल करता है.
android.hardware.wifi.direct
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस पर Wi-Fi Direct की नेटवर्किंग सुविधाओं का इस्तेमाल करता है.

सॉफ़्टवेयर की सुविधाएं

इस सेक्शन में, सॉफ़्टवेयर के उन फ़ीचर के बारे में बताया गया है जो सबसे नए वर्शन पर काम करते हैं प्लैटफ़ॉर्म रिलीज़ किया गया. यह बताना कि आपका ऐप्लिकेशन, सॉफ़्टवेयर का इस्तेमाल करता है या उसे इसकी ज़रूरत है सुविधा के आधार पर, संबंधित वैल्यू का एलान करें. इसकी शुरुआत android:name एट्रिब्यूट में "android.software". हर बार सॉफ़्टवेयर से जुड़ी सुविधा के बारे में जानकारी देने के लिए, <uses-feature> एलिमेंट.

कम्यूनिकेशन सॉफ़्टवेयर की सुविधाएं

android.software.sip
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, सेशन इनिशिएशन प्रोटोकॉल (एसआईपी) सेवाओं का इस्तेमाल करता है. SIP का इस्तेमाल करने पर, ऐप्लिकेशन में इंटरनेट टेलीफ़ोनी की मदद से काम किया जा सकता है, जैसे कि वीडियो कॉन्फ़्रेंसिंग और फटाफट मैसेज सेवा का इस्तेमाल करते हैं.
android.software.sip.voip

यह ऐप्लिकेशन, SIP पर आधारित वॉइस ओवर इंटरनेट प्रोटोकॉल (VoIP) सेवाओं का इस्तेमाल करता है. इन्होंने बदलाव किया है VoIP का इस्तेमाल करके, यह ऐप्लिकेशन रीयल-टाइम इंटरनेट टेलीफ़ोनी के काम करने में मदद कर सकता है. जैसे कि दोतरफ़ा वीडियो कॉन्फ़्रेंसिंग.

इस सुविधा का इस्तेमाल करने से, ऐप्लिकेशन को लगता है कि वह android.software.sip सुविधा का इस्तेमाल करें. हालांकि, ऐसा सिर्फ़ तब किया जा सकता है, जब यह पैरंट सुविधा android:required="false" के साथ एलान किया गया.

android.software.webview
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन इंटरनेट से कॉन्टेंट दिखाता है.

कस्टम इनपुट सॉफ़्टवेयर की सुविधाएं

android.software.input_methods
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, इनपुट के एक नए तरीके का इस्तेमाल करता है, जिसे डेवलपर InputMethodService में बताता है.

डिवाइस मैनेजमेंट सॉफ़्टवेयर की सुविधाएं

android.software.backup
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन में बैकअप और पहले जैसा करने की कार्रवाई को मैनेज करने के लिए लॉजिक शामिल होता है.
android.software.device_admin
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस नीति को लागू करने के लिए डिवाइस एडमिन का इस्तेमाल करता है.
android.software.managed_users
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस ऐप्लिकेशन में, सेकंडरी उपयोगकर्ताओं और मैनेज की जा रही प्रोफ़ाइलों का इस्तेमाल किया जा सकता है.
android.software.securely_removes_users
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, उपयोगकर्ताओं और उनसे जुड़े खातों को हमेशा के लिए हटा सकता है डेटा शामिल है.
android.software.verified_boot
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन में, डिवाइस के वेरिफ़ाइड बूट के नतीजे मैनेज करने के लिए लॉजिक शामिल होता है सुविधा, जो यह पता लगाती है कि रीस्टार्ट करने की प्रोसेस शुरू हो गई है.

मीडिया सॉफ़्टवेयर की सुविधाएं

android.software.midi
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, म्यूज़िकल इंस्ट्रुमेंट का इस्तेमाल करके म्यूज़िकल इंस्ट्रुमेंट या आउटपुट साउंड से कनेक्ट हो इंस्ट्रुमेंट डिजिटल इंटरफ़ेस (एमआईडीआई) प्रोटोकॉल.
android.software.print
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस ऐप्लिकेशन में, डिवाइस पर दिखने वाले दस्तावेज़ों को प्रिंट करने के निर्देश शामिल होते हैं.
android.software.leanback
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन, Android TV डिवाइसों पर काम करने के लिए डिज़ाइन किया गया है.
android.software.live_tv
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, लाइव टेलीविज़न प्रोग्राम स्ट्रीम करता है.

स्क्रीन इंटरफ़ेस के सॉफ़्टवेयर की सुविधाएं

android.software.app_widgets
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, ऐप्लिकेशन विजेट का इस्तेमाल करता है या उपलब्ध कराता है. यह ऐप्लिकेशन सिर्फ़ इन कामों के लिए है वे डिवाइस जिनमें होम स्क्रीन या मिलती-जुलती जगह शामिल है, जहां उपयोगकर्ता ये काम कर सकते हैं: ऐप्लिकेशन विजेट एम्बेड करें.
android.software.home_screen
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ऐप्लिकेशन, डिवाइस की होम स्क्रीन की जगह पर काम करता है.
android.software.live_wallpaper
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह ऐप्लिकेशन ऐसे वॉलपेपर का इस्तेमाल करता है या उपलब्ध कराता है जिनमें ऐनिमेशन शामिल हो.

ऐसी अनुमतियां जिनमें सुविधा की ज़रूरी शर्तें शामिल की गई हों

कुछ हार्डवेयर और सॉफ़्टवेयर फ़ीचर कॉन्सटेंट उपलब्ध कराए जाते हैं ऐप्लिकेशन को एपीआई के तौर पर सेट करें. इस वजह से, कुछ ऐप्लिकेशन पहले एपीआई का इस्तेमाल कर सकते हैं वे यह एलान कर सकते हैं कि उन्हें एपीआई की ज़रूरी ज़रूरत है. इसके लिए, वे <uses-feature> सिस्टम.

उन ऐप्लिकेशन को अनजाने में उपलब्ध होने से रोकने के लिए, Google Play मान लिया जाता है कि हार्डवेयर से जुड़ी कुछ अनुमतियों से पता चलता है कि इसमें मौजूद हार्डवेयर सुविधाएं, डिफ़ॉल्ट रूप से ज़रूरी होती हैं. उदाहरण के लिए, ब्लूटूथ का इस्तेमाल करने वाले ऐप्लिकेशन को BLUETOOTH का अनुरोध करना होगा <uses-permission> एलिमेंट में अनुमति.

लेगसी के लिए ऐप्लिकेशन न हो, तो Google Play मानता है कि अनुमति के एलान का मतलब यह है कि इसके लिए, बिल्ट-इन android.hardware.bluetooth सुविधा की ज़रूरत है: ऐप्लिकेशन और उस सुविधा के आधार पर फ़िल्टर करने की सुविधा सेट अप करता है. टेबल 2 की सूचियां ऐसी अनुमतियां जो में बताई गई अनुमतियों जैसी किसी सुविधा की ज़रूरी शर्तों को पूरा करती हों <uses-feature> एलिमेंट.

<uses-feature> एलान के साथ-साथ सभी एलान android:required विशेषता का एलान किया गया है. इसे हमेशा टेबल 2 में अनुमतियों के मुताबिक शामिल की गई सुविधाएं. इनमें से किसी भी अनुमति के लिए, आप साफ़ तौर पर पहले से मौजूद सुविधा के आधार पर फ़िल्टर करने की सुविधा को <uses-feature> एलिमेंट में सुविधा के बारे में जानकारी, जिसमें required एट्रिब्यूट को false पर सेट किया गया है.

उदाहरण के लिए, CAMERA अनुमति के आधार पर फ़िल्टर करना बंद करें, फिर मेनिफ़ेस्ट फ़ाइल में ये <uses-feature> एलान शामिल होंगे:

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

चेतावनी: अगर आपका ऐप्लिकेशन Android 5.0 (एपीआई लेवल 21) को टारगेट करता है या और उच्च मान का उपयोग करता है और ACCESS_COARSE_LOCATION या जगह की जानकारी पाने के लिए ACCESS_FINE_LOCATION की अनुमति नेटवर्क या GPS से अपडेट होने चाहिए, तो आपको उसे साफ़ तौर पर एलान करें कि आपका ऐप्लिकेशन android.hardware.location.network का इस्तेमाल करता है या android.hardware.location.gps हार्डवेयर सुविधाओं का ऐक्सेस होना चाहिए.

टेबल 2. डिवाइस की ऐसी अनुमतियां जिनसे डिवाइस में हार्डवेयर के इस्तेमाल का पता चलता है.

कैटगरी अनुमति लागू की गई सुविधा की ज़रूरी शर्त
ब्लूटूथ BLUETOOTH android.hardware.bluetooth

ज़्यादा जानकारी के लिए, ब्लूटूथ इस्तेमाल करने से जुड़ी खास सुविधा देखें.

BLUETOOTH_ADMIN android.hardware.bluetooth
कैमरा CAMERA android.hardware.camera
android.hardware.camera.autofocus
जगह की जानकारी ACCESS_MOCK_LOCATION android.hardware.location
ACCESS_LOCATION_EXTRA_COMMANDS android.hardware.location
INSTALL_LOCATION_PROVIDER android.hardware.location
ACCESS_COARSE_LOCATION

android.hardware.location

android.hardware.location.network अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है (सिर्फ़ तब, जब टारगेट एपीआई लेवल 20 या इससे कम हो.)

ACCESS_FINE_LOCATION

android.hardware.location

android.hardware.location.gps अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है (सिर्फ़ तब, जब टारगेट एपीआई लेवल 20 या इससे कम हो.)

माइक्रोफ़ोन RECORD_AUDIO android.hardware.microphone
टेलीफ़ोनी CALL_PHONE android.hardware.telephony
CALL_PRIVILEGED android.hardware.telephony
MODIFY_PHONE_STATE android.hardware.telephony
PROCESS_OUTGOING_CALLS android.hardware.telephony
READ_SMS android.hardware.telephony
RECEIVE_SMS android.hardware.telephony
RECEIVE_MMS android.hardware.telephony
RECEIVE_WAP_PUSH android.hardware.telephony
SEND_SMS android.hardware.telephony
WRITE_APN_SETTINGS android.hardware.telephony
WRITE_SMS android.hardware.telephony
वाई-फ़ाई ACCESS_WIFI_STATE android.hardware.wifi
CHANGE_WIFI_STATE android.hardware.wifi
CHANGE_WIFI_MULTICAST_STATE android.hardware.wifi