ডকিং অবস্থা এবং টাইপ নির্ধারণ এবং নিরীক্ষণ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
অ্যান্ড্রয়েড-চালিত ডিভাইসগুলি বিভিন্ন ধরণের ডকগুলিতে ডক করা যেতে পারে। এর মধ্যে রয়েছে কার ডক, হোম ডক এবং ডিজিটাল বা এনালগ ডক। ডক স্টেট সাধারণত চার্জিং স্টেটের সাথে ঘনিষ্ঠভাবে যুক্ত থাকে, কারণ অনেক ডক ডক করা ডিভাইসে শক্তি প্রদান করে।
আপনার অ্যাপ ডক অবস্থায় ফোনের আপডেট রেটকে প্রভাবিত করে। আপনি ডেস্কটপ ডকে থাকাকালীন স্পোর্টস নিউজ অ্যাপের আপডেট ফ্রিকোয়েন্সি বাড়াতে পারেন বা ডিভাইসটি গাড়ি ডক করা থাকলে আপনার আপডেটগুলি সম্পূর্ণরূপে অক্ষম করতে পারেন৷ বিপরীতভাবে, যদি আপনার ব্যাকগ্রাউন্ড পরিষেবা ট্র্যাফিক পরিস্থিতি আপডেট করে তবে গাড়ি ডক করার সময় আপনি আপনার আপডেটগুলি সর্বাধিক করতে পারেন।
ডক স্টেটটি একটি স্টিকি Intent
হিসাবেও সম্প্রচার করা হয়, যা আপনাকে ডিভাইসটি ডক করা আছে কিনা এবং কোন ধরনের ডকে তা হলে তা জানতে দেয়।
বর্তমান ডকিং অবস্থা নির্ধারণ করুন
ACTION_DOCK_EVENT
অ্যাকশনের একটি স্টিকি সম্প্রচারে ডক স্টেটের বিশদ একটি অতিরিক্ত হিসাবে অন্তর্ভুক্ত করা হয়েছে৷ যেহেতু এটি স্টিকি, আপনি registerReceiver()
কল করতে পারেন, সম্প্রচার রিসিভার হিসাবে null
পাস করে। নিম্নলিখিত স্নিপেট দেখায় কিভাবে এই প্রক্রিয়াটি সম্পূর্ণ করতে হয়:
কোটলিন
val dockStatus: Intent? = IntentFilter(Intent.ACTION_DOCK_EVENT).let { ifilter ->
context.registerReceiver(null, ifilter)
}
জাভা
IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = context.registerReceiver(null, ifilter);
আপনি EXTRA_DOCK_STATE
অতিরিক্ত থেকে বর্তমান ডকিং অবস্থা বের করতে পারেন:
কোটলিন
val dockState: Int = dockStatus?.getIntExtra(EXTRA_DOCK_STATE, -1) ?: -1
val isDocked: Boolean = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED
জাভা
int dockState -1;
if (dockStatus != null) {
dockState = dockStatus.getIntExtra(EXTRA_DOCK_STATE, -1);
}
boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
বর্তমান ডকের ধরন নির্ধারণ করুন
যদি একটি ডিভাইস ডক করা হয়, তবে এটি নিম্নলিখিত চারটি ভিন্ন ডক প্রকারের যেকোনো একটিতে ডক করা যেতে পারে:
- গাড়ী
- ডেস্ক
- লো-এন্ড (অ্যানালগ) ডেস্ক
- হাই-এন্ড (ডিজিটাল) ডেস্ক
পরের দুটি বিকল্প শুধুমাত্র অ্যান্ড্রয়েড এপিআই লেভেল 11-এ প্রবর্তন করা হয়েছে, তাই যখন আপনি শুধুমাত্র ডিজিটাল বা এনালগ হওয়ার চেয়ে ডকের প্রকারে আগ্রহী হন তখন তিনটি ডেস্কের প্রকারের জন্য পরীক্ষা করা ভাল অনুশীলন:
কোটলিন
val isCar: Boolean = dockState == EXTRA_DOCK_STATE_CAR
val isDesk: Boolean = dockState == EXTRA_DOCK_STATE_DESK
|| dockState == EXTRA_DOCK_STATE_LE_DESK
|| dockState == EXTRA_DOCK_STATE_HE_DESK
জাভা
boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
dockState == EXTRA_DOCK_STATE_LE_DESK ||
dockState == EXTRA_DOCK_STATE_HE_DESK;
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Determine and monitor the docking state and type\n\nAndroid-powered devices can be docked into different kinds of docks. These\ninclude car docks, home docks, and digital or analog docks. The dock state is\ntypically closely linked to the charging state, as many docks provide power to\ndocked devices.\n\nYour app affects the phone's update rate in the dock state. You can increase\nthe update frequency of a sports news app when it's in the desktop dock, or\ndisable your updates completely if the device is car docked. Conversely, you can\nmaximize your updates while car docked if your background service is updating\ntraffic conditions.\n\nThe dock state is also broadcast as a sticky\n[Intent](/reference/android/content/Intent),\nletting you query whether the device is docked and in which kind of dock if\nso.\n\nDetermine the current docking state\n-----------------------------------\n\nThe dock state details are included as an extra in a\n[sticky broadcast](/topic/security/risks/sticky-broadcast) of the\n[ACTION_DOCK_EVENT](/reference/android/content/Intent#ACTION_DOCK_EVENT)\naction. Because it's sticky, you can call\n[registerReceiver()](/reference/android/content/Context#registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter)),\npassing in `null` as the broadcast receiver. The following snippet\nshows how to complete this process: \n\n### Kotlin\n\n```kotlin\nval dockStatus: Intent? = IntentFilter(Intent.ACTION_DOCK_EVENT).let { ifilter -\u003e\n context.registerReceiver(null, ifilter)\n}\n```\n\n### Java\n\n```java\nIntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);\nIntent dockStatus = context.registerReceiver(null, ifilter);\n```\n\nYou can extract the current docking status from the\n`EXTRA_DOCK_STATE` extra:\n\n\n### Kotlin\n\n```kotlin\nval dockState: Int = dockStatus?.getIntExtra(EXTRA_DOCK_STATE, -1) ?: -1\nval isDocked: Boolean = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED\n```\n\n### Java\n\n```java\nint dockState -1;\nif (dockStatus != null) {\n dockState = dockStatus.getIntExtra(EXTRA_DOCK_STATE, -1);\n}\nboolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;\n```\n\nDetermine the current dock type\n-------------------------------\n\nIf a device is docked, it can be docked in any of the following four\ndifferent dock types:\n\n- Car\n- Desk\n- Low-End (Analog) desk\n- High-End (Digital) desk\n\nThe latter two options are only introduced in Android API level 11, so it's\ngood practice to check for all three desk types when you are only interested in\nthe type of dock rather than it being digital or analog specifically: \n\n### Kotlin\n\n```kotlin\nval isCar: Boolean = dockState == EXTRA_DOCK_STATE_CAR\nval isDesk: Boolean = dockState == EXTRA_DOCK_STATE_DESK\n || dockState == EXTRA_DOCK_STATE_LE_DESK\n || dockState == EXTRA_DOCK_STATE_HE_DESK\n```\n\n### Java\n\n```java\nboolean isCar = dockState == EXTRA_DOCK_STATE_CAR;\nboolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||\n dockState == EXTRA_DOCK_STATE_LE_DESK ||\n dockState == EXTRA_DOCK_STATE_HE_DESK;\n```"]]