अपने ऐप्लिकेशन के लिए पसंद के मुताबिक, क्विक सेटिंग टाइल बनाएं

क्विक सेटिंग, क्विक सेटिंग पैनल में दिखने वाली टाइल होती हैं. इससे उपयोगकर्ता, बार-बार होने वाले टास्क को तुरंत पूरा कर सकते हैं. आपका ऐप्लिकेशन TileService की मदद से, उपयोगकर्ताओं को उनकी पसंद के मुताबिक टाइल उपलब्ध करा सकता है क्लास में शामिल करें और टाइल की स्थिति को ट्रैक करने के लिए, Tile ऑब्जेक्ट का इस्तेमाल करें. उदाहरण के लिए, एक ऐसी टाइल बनाई जा सकती है जिससे उपयोगकर्ता, आपके ऐप्लिकेशन से मिले वीपीएन को चालू कर सकें या बंद करें.

क्विक सेटिंग पैनल, जिसमें वीपीएन टाइल चालू है
  चालू और बंद करें
पहली इमेज. क्विक सेटिंग पैनल, जिसमें वीपीएन टाइल चालू है चालू और बंद करें.

तय करना कि टाइल कब बनानी है

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

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

फ़िटनेस ऐप्लिकेशन की टाइल के इस्तेमाल के उदाहरण
दूसरी इमेज. फ़िटनेस ऐप्लिकेशन के लिए, सुझाई गई और बिना सुझाई गई टाइल के उदाहरण.

हमारा सुझाव है कि टाइल को आसानी से खोजने और इस्तेमाल करने में मदद करने के लिए, कुछ खास तरीकों से बचें:

  • किसी ऐप्लिकेशन को लॉन्च करने के लिए, टाइल का इस्तेमाल करने से बचें. ऐप्लिकेशन शॉर्टकट या किसी सामान्य ऐप्लिकेशन का इस्तेमाल करें लॉन्चर का इस्तेमाल करें.

  • एक बार की जाने वाली उपयोगकर्ता कार्रवाइयों के लिए टाइल का इस्तेमाल करने से बचें. ऐप शॉर्टकट का इस्तेमाल करें या सूचना सबमिट करें.

  • बहुत ज़्यादा टाइल न बनाएं. हमारा सुझाव है कि हर ऐप्लिकेशन के लिए, ज़्यादा से ज़्यादा दो पैरामीटर इस्तेमाल किए जा सकते हैं. किसी शॉर्टकट का इस्तेमाल करें.

  • ऐसी टाइल का इस्तेमाल करने से बचें जो जानकारी दिखाती हों, लेकिन इंटरैक्टिव न हों उपयोगकर्ता. इसके बजाय, सूचना या विजेट का इस्तेमाल करें.

अपनी टाइल बनाएं

टाइल बनाने के लिए, सबसे पहले आपको टाइल का सही आइकॉन बनाना होगा. इसके बाद, ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में TileService बनाएं और उसका एलान करें.

क्विक सेटिंग सैंपल में, अलग-अलग प्रोसेस बनाने का तरीका बताया जाता है और टाइल मैनेज करें.

अपनी पसंद का आइकॉन बनाएं

आपको एक कस्टम आइकॉन देना होगा. यह आइकॉन, Quick में टाइल पर दिखेगा सेटिंग पैनल. (TileService का एलान करते समय आपको यह आइकॉन जोड़ना होगा, अगले सेक्शन में बताया गया है.) आइकॉन पूरी तरह सफ़ेद होना चाहिए. साथ ही, जो पारदर्शी बैकग्राउंड का इस्तेमाल करता है, उसका साइज़ 24 x 24dp होता है और उसे इमेज के तौर पर VectorDrawable.

ड्रॉ करने लायक वेक्टर का उदाहरण
तीसरी इमेज. ड्रॉ करने लायक वेक्टर का उदाहरण.

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

अपनी TileService बनाएं और उसका एलान करें

अपनी टाइल के लिए ऐसी सेवा बनाएं जो TileService क्लास को बढ़ाती हो.

Kotlin

class MyQSTileService: TileService() {

  // Called when the user adds your tile.
  override fun onTileAdded() {
    super.onTileAdded()
  }
  // Called when your app can update your tile.
  override fun onStartListening() {
    super.onStartListening()
  }

  // Called when your app can no longer update your tile.
  override fun onStopListening() {
    super.onStopListening()
  }

  // Called when the user taps on your tile in an active or inactive state.
  override fun onClick() {
    super.onClick()
  }
  // Called when the user removes your tile.
  override fun onTileRemoved() {
    super.onTileRemoved()
  }
}

Java

public class MyQSTileService extends TileService {

  // Called when the user adds your tile.
  @Override
  public void onTileAdded() {
    super.onTileAdded();
  }

  // Called when your app can update your tile.
  @Override
  public void onStartListening() {
    super.onStartListening();
  }

  // Called when your app can no longer update your tile.
  @Override
  public void onStopListening() {
    super.onStopListening();
  }

  // Called when the user taps on your tile in an active or inactive state.
  @Override
  public void onClick() {
    super.onClick();
  }

  // Called when the user removes your tile.
  @Override
  public void onTileRemoved() {
    super.onTileRemoved();
  }
}

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में, अपने TileService के बारे में बताएं. नाम और लेबल जोड़ें आपका TileService, जो कस्टम आइकॉन आपने पिछले सेक्शन में बनाया था, और उचित अनुमति शामिल है.

 <service
     android:name=".MyQSTileService"
     android:exported="true"
     android:label="@string/my_default_tile_label"  // 18-character limit.
     android:icon="@drawable/my_default_icon_label"
     android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
     <intent-filter>
         <action android:name="android.service.quicksettings.action.QS_TILE" />
     </intent-filter>
 </service>

अपनी TileService मैनेज करें

अपने ऐप्लिकेशन मेनिफ़ेस्ट में TileService बनाने और उसका एलान करने के बाद, आपको अपनी स्थिति को मैनेज करना पड़ता है.

TileService एक सीमित सेवा है. आपका TileService तब लागू होता है, जब आपके ऐप्लिकेशन ने अनुरोध किया हो या जब सिस्टम को आपसे संपर्क करने की ज़रूरत हो. सामान्य बाउंड-सर्विस लाइफ़साइकल में ये चार कॉलबैक तरीके शामिल हैं: onCreate(), onBind(), onUnbind(), और onDestroy(). सिस्टम हर बार इन तरीकों को शुरू करता है सेवा एक नए लाइफ़साइकल फ़ेज़ में आ जाती है.

TileService लाइफ़साइकल की खास जानकारी

बाउंड-सर्विस लाइफ़साइकल को कंट्रोल करने वाले कॉलबैक के अलावा, आपको ये काम करने होंगे TileService लाइफ़साइकल के लिए तय किए गए अन्य तरीके लागू करें. ये तरीके onCreate() और onDestroy() के बाहर कॉल किया जा सकता है, क्योंकि Service लाइफ़साइकल मेथड और TileService लाइफ़साइकल मेथड को दो में कॉल किया जाता है अलग-अलग एसिंक्रोनस थ्रेड इस्तेमाल करें.

TileService लाइफ़साइकल में ये तरीके शामिल होते हैं जिन्हें शुरू किया जाता है हर बार आपका TileService लाइफ़साइकल के किसी नए फ़ेज़ में जाने पर, सिस्टम के हिसाब से:

  • onTileAdded(): यह तरीका सिर्फ़ तब कॉल किया जाता है, जब उपयोगकर्ता और अगर उपयोगकर्ता आपकी टाइल को हटाकर फिर से जोड़ता है. किसी भी एक बार में शुरुआत करने का यह सबसे सही समय है. हालांकि, ऐसा हो सकता है कि यह सभी ज़रूरी प्रोसेस को पूरा नहीं करता है.

  • onStartListening() और onStopListening(): ये तरीके हैं जब भी आपका ऐप्लिकेशन टाइल को अपडेट करता है, तब कॉल किया जाता है. इस सुविधा को अक्सर कॉल किया जाता है. कॉन्टेंट बनाने TileService, onStartListening() और के बीच बना रहेगा onStopListening() से आपके ऐप्लिकेशन को टाइल में बदलाव करने और अपडेट पुश करने की अनुमति मिलती है.

  • onTileRemoved(): यह तरीका सिर्फ़ तब कॉल किया जाता है, जब उपयोगकर्ता आपकी टाइल.

पॉडकास्ट सुनने का कोई मोड चुनें

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

यह न सोचें कि आपका TileService, onStartListening() के बाहर रहेगा और onStopListening() तरीकों का जोड़ा.

ऐक्टिव मोड का इस्तेमाल, ऐसे TileService के लिए करें जो इसकी स्थिति को सुन और मॉनिटर करता हो खुद की प्रक्रिया में शामिल हो. ऐक्टिव मोड में TileService, onTileAdded() के लिए सीमित है, onTileRemoved() पर जाकर, इवेंट पर टैप करें. साथ ही, जब ऐप्लिकेशन प्रोसेस के लिए अनुरोध करे, तब इस पर टैप करें.

अगर टाइल की स्थिति बताने पर, आपके TileService को सूचना मिलती है, तो हमारा सुझाव है कि चालू मोड का इस्तेमाल करें उसे अपनी प्रोसेस से अपडेट करना चाहिए. ऐक्टिव टाइल, सिस्टम को इसलिए बाइंड नहीं करना पड़ता, क्योंकि उसे हर बार क्विक सेटिंग पैनल के लिए बाउंड नहीं करना होता है उपयोगकर्ता को दिखने लगता है.

स्टैटिक TileService.requestListeningState() तरीके का इस्तेमाल लिसनिंग स्टेट शुरू होने का अनुरोध करें और इसके लिए कॉलबैक पाएं onStartListening().

ऐक्टिव मोड का एलान करने के लिए, META_DATA_ACTIVE_TILE को अपने की मेनिफ़ेस्ट फ़ाइल में दी गई है.

<service ...>
    <meta-data android:name="android.service.quicksettings.ACTIVE_TILE"
         android:value="true" />
    ...
</service>

नॉन-ऐक्टिव मोड

नॉन-ऐक्टिव मोड, स्टैंडर्ड मोड है. कोई TileService, ऐक्टिव मोड में नहीं है, अगर जब भी आपकी टाइल उपयोगकर्ता को दिखती है, तब यह तय होता है. इसका मतलब है कि TileService को कभी-कभी फिर से बनाया और बाइंड किया जा सकता है. हालांकि, यह इसके कंट्रोल से बाहर होता है. यह जब उपयोगकर्ता टाइल न देख रहा हो, तब भी अनबाउंड हो सकता है और खत्म हो सकता है.

जब उपयोगकर्ता अपना ऐप्लिकेशन खोलता है, तो आपके ऐप्लिकेशन को onStartListening() पर कॉलबैक मिलता है क्विक सेटिंग पैनल. Tile ऑब्जेक्ट को जितनी बार अपडेट किया जा सकता है उतनी बार अपडेट किया जा सकता है onStartListening() से onStopListening() के बीच चाहिए.

आपको 'ऐक्टिव मोड' का एलान करने की ज़रूरत नहीं है—बस META_DATA_ACTIVE_TILE को आपके ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में सेव करें.

टाइल की स्थितियों के बारे में खास जानकारी

जब कोई उपयोगकर्ता आपकी टाइल जोड़ता है, तो यह हमेशा इनमें से किसी एक स्थिति में मौजूद रहती है.

  • STATE_ACTIVE: इससे पता चलता है कि डिवाइस चालू है या चालू है. उपयोगकर्ता ये काम कर सकता है: इस स्थिति में रहते हुए अपनी टाइल के साथ इंटरैक्ट करें.

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

  • STATE_INACTIVE: यह स्टेटस, बंद या रोकी गई स्थिति को दिखाता है. उपयोगकर्ता ये काम कर सकता है: इस स्थिति में रहते हुए अपनी टाइल के साथ इंटरैक्ट करें.

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

  • STATE_UNAVAILABLE: यह स्टेटस कुछ समय के लिए उपलब्ध नहीं है. कॉन्टेंट बनाने इस स्थिति में उपयोगकर्ता आपकी टाइल से इंटरैक्ट नहीं कर सकता.

    उदाहरण के लिए, STATE_UNAVAILABLE में मौजूद टाइल का मतलब है कि टाइल फ़िलहाल किसी वजह से उपयोगकर्ता के लिए उपलब्ध हो.

सिस्टम सिर्फ़ आपके Tile ऑब्जेक्ट की शुरुआती स्थिति सेट करता है. आपने Tile को सेट किया पूरे लाइफ़साइकल के दौरान, ऑब्जेक्ट की स्थिति को मॉनिटर करता है.

सिस्टम, टाइल आइकॉन और बैकग्राउंड को हल्के रंग में बदल सकता है, ताकि आपके विज्ञापन की स्थिति का पता चल सके Tile ऑब्जेक्ट. STATE_ACTIVE पर सेट किए गए Tile ऑब्जेक्ट सबसे गहरे रंग की हैं. इनमें STATE_INACTIVE और STATE_UNAVAILABLE की रफ़्तार धीरे-धीरे कम होती जाएगी. सटीक रंग सिर्फ़ मैन्युफ़ैक्चरर और वर्शन पर निर्भर करता है.

ऑब्जेक्ट की स्थिति दिखाने के लिए रंगी गई वीपीएन टाइल
चौथी इमेज. टाइल की स्थिति को दिखाने के लिए, रंगों में टिके टाइल के उदाहरण. ये टाइल चालू हैं, बंद हैं, और उपलब्ध नहीं हैं.

टाइल अपडेट करना

onStartListening() पर कॉलबैक मिलने के बाद, अपनी टाइल अपडेट की जा सकती है. टाइल के मोड के आधार पर, इस तारीख तक आपकी टाइल को कम से कम एक बार अपडेट किया जा सकता है onStopListening() के लिए कॉलबैक मिल रहा है.

ऐक्टिव मोड में, टाइल को अपडेट करने से पहले सिर्फ़ एक बार अपडेट किया जा सकता है onStopListening() पर कॉलबैक करें. नॉन-ऐक्टिव मोड में, अपनी टाइल को इस तरह अपडेट किया जा सकता है onStartListening() से onStopListening() के बीच जितनी बार चाहें उतनी बार.

getQsTile() पर कॉल करके, Tile ऑब्जेक्ट वापस पाया जा सकता है. अपडेट करने के लिए अपने Tile ऑब्जेक्ट के खास फ़ील्ड का इस्तेमाल करते समय, इन तरीकों का इस्तेमाल करें:

टाइल सेट अप करने के बाद, आपको updateTile() पर कॉल करना होगा Tile ऑब्जेक्ट के फ़ील्ड को सही वैल्यू पर सेट करें. इससे सिस्टम अपडेट किया गया टाइल डेटा पार्स करें और यूज़र इंटरफ़ेस (यूआई) अपडेट करें.

Kotlin

data class StateModel(val enabled: Boolean, val label: String, val icon: Icon)

override fun onStartListening() {
  super.onStartListening()
  val state = getStateFromService()
  qsTile.label = state.label
  qsTile.contentDescription = tile.label
  qsTile.state = if (state.enabled) Tile.STATE_ACTIVE else Tile.STATE_INACTIVE
  qsTile.icon = state.icon
  qsTile.updateTile()
}

Java

public class StateModel {
  final boolean enabled;
  final String label;
  final Icon icon;

  public StateModel(boolean e, String l, Icon i) {
    enabled = e;
    label = l;
    icon = i;
  }
}

@Override
public void onStartListening() {
  super.onStartListening();
  StateModel state = getStateFromService();
  Tile tile = getQsTile();
  tile.setLabel(state.label);
  tile.setContentDescription(state.label);
  tile.setState(state.enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
  tile.setIcon(state.icon);
  tile.updateTile();
}

टैप हैंडल करना

अगर आपकी टाइल टाइल में है, तो उपयोगकर्ता कार्रवाई को ट्रिगर करने के लिए उस पर टैप कर सकते हैं STATE_ACTIVE या STATE_INACTIVE. इसके बाद सिस्टम आपके ऐप्लिकेशन के onClick() कॉलबैक.

जब आपके ऐप्लिकेशन को onClick() पर कॉलबैक मिलता है, तो यह एक डायलॉग लॉन्च कर सकता है या गतिविधि, बैकग्राउंड में होने वाले काम को ट्रिगर करें या अपनी टाइल की स्थिति बदलें.

Kotlin

var clicks = 0
override fun onClick() {
  super.onClick()
  counter++
  qsTile.state = if (counter % 2 == 0) Tile.STATE_ACTIVE else Tile.STATE_INACTIVE
  qsTile.label = "Clicked $counter times"
  qsTile.contentDescription = qsTile.label
  qsTile.updateTile()
}

Java

int clicks = 0;

@Override
public void onClick() {
  super.onClick();
  counter++;
  Tile tile = getQsTile();
  tile.setState((counter % 2 == 0) ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
  tile.setLabel("Clicked " + counter + " times");
  tile.setContentDescription(tile.getLabel());
  tile.updateTile();
}

डायलॉग लॉन्च करें

showDialog(), क्विक सेटिंग पैनल को छोटा करता है और एक डायलॉग दिखाता है. अगर अन्य इनपुट की ज़रूरत है, तो अपनी कार्रवाई में संदर्भ जोड़ने के लिए डायलॉग बॉक्स का इस्तेमाल करें या उपयोगकर्ता की सहमति के बिना.

कोई गतिविधि लॉन्च करना

startActivityAndCollapse() बटन को छोटा करते समय, कोई गतिविधि शुरू करता है पैनल. अगर दिखाने के लिए ज़्यादा जानकारी है, तो गतिविधियों की जानकारी काम की होती है या अगर आपकी गतिविधि बहुत ज़्यादा इंटरैक्टिव हो.

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

किसी टाइल पर देर तक टैप करने से, उपयोगकर्ता को ऐप्लिकेशन की जानकारी वाली स्क्रीन दिखने लगती है. बदलने के लिए और इसके बजाय प्राथमिकताएं सेट करने के लिए कोई गतिविधि लॉन्च करें, इसके साथ आपकी किसी गतिविधि में <intent-filter> ACTION_QS_TILE_PREFERENCES.

Android एपीआई 28 और इसके बाद के वर्शन में, PendingIntent यह ज़रूरी है Intent.FLAG_ACTIVITY_NEW_TASK:

if (Build.VERSION.SDK_INT >= 28) {
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}

इसके अलावा, आपके पास AndroidManifest.xml में फ़्लैग जोड़ने का विकल्प भी है. Activity सेक्शन.

अपनी टाइल को 'टॉगल किया जा सकने वाला' के तौर पर मार्क करें

हमारा सुझाव है कि अगर आपकी टाइल मुख्य रूप से दो स्टेट वाला स्विच (यह टाइल का सबसे आम तरीका है). इससे मदद मिली ऑपरेटिंग सिस्टम पर टाइल के काम करने के तरीके के बारे में जानकारी देना और सुलभता को बेहतर बनाया जा सकता है.

अपनी टाइल को टॉगल करने लायक के तौर पर मार्क करने के लिए, TOGGLEABLE_TILE मेटाडेटा को true पर सेट करें.

<service ...>
  <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
    android:value="true" />
</service>

सुरक्षित रूप से लॉक किए गए डिवाइसों पर सिर्फ़ सुरक्षित कार्रवाइयां करें

लॉक किए गए डिवाइसों पर, आपकी टाइल लॉक स्क्रीन पर सबसे ऊपर दिख सकती है. अगर टाइल इसमें संवेदनशील जानकारी है. इसलिए, isSecure() की वैल्यू की जांच करके, यह तय करें कि डिवाइस सुरक्षित स्थिति में है या नहीं. साथ ही, आपके TileService को उसके व्यवहार में बदलाव कर सके.

अगर लॉक होने पर भी टाइल से जुड़ी कार्रवाई सुरक्षित हो, तो startActivity() का इस्तेमाल करें लॉक स्क्रीन पर कोई गतिविधि लॉन्च करने के लिए.

अगर टाइल से जुड़ी कार्रवाई सुरक्षित नहीं है, तो unlockAndRun() का इस्तेमाल करके, उपयोगकर्ता से उनके डिवाइस को अनलॉक करते हैं. यह प्रोसेस पूरी होने पर, सिस्टम Runnable ऑब्जेक्ट, जिसे आपने इसमें पास किया है तरीका.

उपयोगकर्ता से टाइल जोड़ने का अनुरोध करें

मैन्युअल तरीके से टाइल जोड़ने के लिए, लोगों को कुछ चरण पूरे करने होंगे:

  1. क्विक सेटिंग पैनल को खोलने के लिए, नीचे की ओर स्वाइप करें.
  2. 'बदलाव करें' बटन पर टैप करें.
  3. उनके डिवाइस पर मौजूद सभी टाइल पर तब तक स्क्रोल करें, जब तक वे आपकी टाइल नहीं ढूंढ लेते.
  4. अपनी टाइल को दबाकर रखें और उसे खींचकर, इस्तेमाल की जा रही टाइल की सूची में छोड़ें.

उपयोगकर्ता किसी भी समय आपकी टाइल को दूसरी जगह ले जा सकता है या उसे हटा सकता है.

Android 13 और इसके बाद के वर्शन में, requestAddTileService() तरीका इस्तेमाल किया जा सकता है ताकि लोग किसी डिवाइस में आपकी टाइल आसानी से जोड़ सकें. यह तरीका लोगों को अनुरोध भेजकर, आपकी टाइल को क्विक सेक्शन में तुरंत जोड़ने का अनुरोध करता है सेटिंग पैनल. प्रॉम्प्ट में ऐप्लिकेशन का नाम, दिया गया लेबल, और आइकन.

&#39;क्विक सेटिंग प्लेसमेंट एपीआई प्रॉम्प्ट&#39;
पांचवीं इमेज. 'क्विक सेटिंग प्लेसमेंट एपीआई प्रॉम्प्ट'.
public void requestAddTileService (
  ComponentName tileServiceComponentName,
  CharSequence tileLabel,
  Icon icon,
  Executor resultExecutor,
  Consumer<Integer> resultCallback
)

कॉलबैक में यह जानकारी होती है कि टाइल जोड़ी गई या नहीं, नहीं जोड़ा गया, अगर यह पहले से मौजूद था या कोई गड़बड़ी हुई थी.

अपने विवेक से ही यह तय करें कि लोगों को कब और कितनी बार मैसेज भेजना है. बुध requestAddTileService() को सिर्फ़ कॉन्टेक्स्ट के हिसाब से कॉल करने का सुझाव दिया जाता है – जैसे जब उपयोगकर्ता पहली बार किसी ऐसी सुविधा से इंटरैक्ट करता है जो आपकी टाइल से मिलती है.

सिस्टम किसी दिए गए अनुरोध को प्रोसेस करना बंद कर सकता है ComponentName: अगर उपयोगकर्ता ने इस कार्रवाई को पहले ही कई बार अस्वीकार कर दिया हो. कॉन्टेंट बनाने उपयोगकर्ता को, इसे पाने के लिए इस्तेमाल किए गए Context से तय किया जाता है सेवा—यह वर्तमान उपयोगकर्ता से मेल खाना चाहिए.