একটি Android ডিভাইসে কাস্টম ট্যাব সমর্থন করে এমন একটি ব্রাউজার আছে কিনা তা পরীক্ষা করুন৷

নিম্নলিখিত বিভাগগুলি আপনাকে দেখায় যে কীভাবে আবহাওয়ার ডিফল্ট ব্রাউজার বা অ্যান্ড্রয়েড ডিভাইসে কাস্টম ট্যাব সমর্থন করে এমন কোনও ব্রাউজার নিশ্চিত করতে হয়।

ডিফল্ট ব্রাউজার কাস্টম ট্যাব সমর্থন করে কিনা তা পরীক্ষা করুন

ডিফল্ট ব্রাউজার কাস্টম ট্যাব সমর্থন করে কিনা তা যাচাই করতে, CustomTabsClientgetPackageName সহায়ক পদ্ধতি ব্যবহার করুন:

String packageName = CustomTabsClient.getPackageName(
        context,
        Collections.emptyList()
);
if (packageName == null) {
    // Custom Tabs are not supported by the default browser
}

ডিভাইসের কোনো ব্রাউজার কাস্টম ট্যাব সমর্থন করে কিনা তা পরীক্ষা করুন

ডিভাইসে ইনস্টল করা কোনো ব্রাউজার কাস্টম ট্যাব সমর্থন করে কিনা তা যাচাই করতে, আপনাকে এমন অ্যাপগুলির জন্য অনুসন্ধান করতে হবে যা VIEW ইন্টেন্টগুলি পরিচালনা করতে পারে, তাদের প্যাকেজের নামগুলি বের করতে পারে এবং CustomTabsClientgetPackageName সহায়ক পদ্ধতি ব্যবহার করতে পারে:

// Get all apps that can handle VIEW intents and Custom Tab service connections.
Intent activityIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));
PackageManager packageManager = context.getPackageManager();
List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(activityIntent, PackageManager.MATCH_ALL);

// Extract package names from ResolveInfo objects
List<String> packageNames = new ArrayList<>();
for (ResolveInfo info : resolveInfos) {
    packageNames.add(info.activityInfo.packageName);
}

// Get a package that supports Custom Tabs
String packageName = CustomTabsClient.getPackageName(
        context,
        packageNames,
        true /* ignore default */
);
if (packageName == null) {
    // Custom Tabs are not supported by any browser on the device
}

Android 11 প্যাকেজের দৃশ্যমানতা পরিবর্তন

অ্যান্ড্রয়েড 11 প্যাকেজ দৃশ্যমানতার পরিবর্তন এনেছে। যদি আপনার অ্যান্ড্রয়েড অ্যাপটি API লেভেল 30 বা তার পরে লক্ষ্য করে, তাহলে আপনাকে অবশ্যই AndroidManifest.xml এর ক্যোয়ারী বিভাগে নিম্নলিখিত ঘোষণা যোগ করতে হবে।

এই ঘোষণা ছাড়া, queryIntentActivities পদ্ধতি ফলাফল ফেরত দেবে না:

<queries>
    <intent>
        <action android:name=
            "android.support.customtabs.action.CustomTabsService" />
    </intent>
</queries>

ডিভাইসে কোনো ব্রাউজার কাস্টম ট্যাব সমর্থন করে না

যদি ডিভাইসে কাস্টম ট্যাব সমর্থনকারী কোনো ব্রাউজার উপলব্ধ না থাকে এবং আপনি customTabsIntent.launchUrl(context, url) ব্যবহার করে একটি URL চালু করেন, তাহলে অভিপ্রায় ব্যর্থ হতে পারে, যার ফলে ActivityNotFoundException হয়।

একটি ভাল ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করতে সর্বদা একটি সামঞ্জস্য পরীক্ষা করুন৷

আপনি যেকোনো উপলব্ধ ব্রাউজারে URL খুলতে একটি আদর্শ ACTION_VIEW অভিপ্রায়ে ফলব্যাক করতে পারেন৷