<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic background maps not showing on older android systems. in Flutter Maps SDK Questions</title>
    <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678063#M150</link>
    <description>&lt;P&gt;as the subject suggests i have a problem on the app i have made with the backgroundmaps not showing on older models. The background maps comes from a group on an agol organisation&amp;nbsp;&lt;A href="https://danmarksdata.maps.arcgis.com/home/group.html?sortField=modified&amp;amp;sortOrder=desc&amp;amp;id=1a2896d741ac4fc19da7f1b13aa5f82d#content" target="_blank" rel="noopener"&gt;https://danmarksdata.maps.arcgis.com/home/group.html?sortField=modified&amp;amp;sortOrder=desc&amp;amp;id=1a2896d741ac4fc19da7f1b13aa5f82d#content&lt;/A&gt;. i use http calls to the rest api to find the items in the group and then uses:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Basemap&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;withItem&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;basemapitem&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;results&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;to make the Basemap object.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;the newest version of android where is fails has been android 13 api 33-ext5.&lt;/P&gt;&lt;P&gt;has any one else experienced something like this and has a solution to this.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 15 Jan 2026 14:15:44 GMT</pubDate>
    <dc:creator>RasmusLind</dc:creator>
    <dc:date>2026-01-15T14:15:44Z</dc:date>
    <item>
      <title>background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678063#M150</link>
      <description>&lt;P&gt;as the subject suggests i have a problem on the app i have made with the backgroundmaps not showing on older models. The background maps comes from a group on an agol organisation&amp;nbsp;&lt;A href="https://danmarksdata.maps.arcgis.com/home/group.html?sortField=modified&amp;amp;sortOrder=desc&amp;amp;id=1a2896d741ac4fc19da7f1b13aa5f82d#content" target="_blank" rel="noopener"&gt;https://danmarksdata.maps.arcgis.com/home/group.html?sortField=modified&amp;amp;sortOrder=desc&amp;amp;id=1a2896d741ac4fc19da7f1b13aa5f82d#content&lt;/A&gt;. i use http calls to the rest api to find the items in the group and then uses:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Basemap&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;withItem&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;basemapitem&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;results&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;]);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;to make the Basemap object.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;the newest version of android where is fails has been android 13 api 33-ext5.&lt;/P&gt;&lt;P&gt;has any one else experienced something like this and has a solution to this.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jan 2026 14:15:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678063#M150</guid>
      <dc:creator>RasmusLind</dc:creator>
      <dc:date>2026-01-15T14:15:44Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678457#M151</link>
      <description>&lt;P&gt;&lt;FONT size="3"&gt;This kind of “basemap shows on some devices but not others” issue with Flutter + ArcGIS usually boils down to one of a few culprits&lt;/FONT&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;cleartext/HTTP being blocked on newer Android&lt;/LI&gt;&lt;LI&gt;item accessibility/auth&lt;/LI&gt;&lt;LI&gt;load error coming from a specific basemap/layer (e.g., vector tile style referencing blocked resources)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;FONT size="6"&gt;Quick things to verify first&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="6"&gt;&lt;STRONG&gt;&lt;FONT size="3"&gt;&lt;FONT size="4"&gt;&lt;FONT size="5"&gt;1. Are you using&lt;/FONT&gt; &lt;FONT color="#FF0000"&gt;&lt;EM&gt;http&lt;/EM&gt;&lt;/FONT&gt; anywhere?&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="6"&gt;&lt;FONT size="3"&gt;On Android 9+ (API 28+), &lt;STRONG&gt;cleartext (http) is blocked by default&lt;/STRONG&gt;. If you call the REST API over &lt;FONT color="#FF0000"&gt;&lt;EM&gt;http&lt;/EM&gt;&lt;/FONT&gt; or if the basemap’s service URL is `http`, Android 13 will refuse to load it.&lt;/FONT&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;Fix:&amp;nbsp;&lt;/STRONG&gt;Use &lt;FONT color="#FF0000"&gt;&lt;EM&gt;https&lt;/EM&gt;&lt;/FONT&gt; everywhere for:&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT size="3"&gt;REST item searches&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="3"&gt;Service URLs inside the Portal Items (item data can reference layers that are &lt;FONT color="#FF0000"&gt;&lt;EM&gt;http&lt;/EM&gt;&lt;/FONT&gt; even if the item page is &lt;FONT color="#FF0000"&gt;&lt;EM&gt;https&lt;/EM&gt;&lt;/FONT&gt;).&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;FONT size="3"&gt;Temporary debug workaround (not recommended for prod):&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;!-- AndroidManifest.xml --&amp;gt;
        &amp;lt;application
            android:usesCleartextTraffic="true"
            android:networkSecurityConfig="@xml/network_security_config" .../&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;FONT size="3"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;!-- res/xml/network_security_config.xml --&amp;gt;
        &amp;lt;network-security-config&amp;gt;
          &amp;lt;base-config cleartextTrafficPermitted="true" /&amp;gt;
        &amp;lt;/network-security-config&amp;gt;&lt;/LI-CODE&gt;&lt;UL&gt;&lt;LI&gt;If this makes basemaps appear, you’ve confirmed a cleartext/HTTP issue. Switch to HTTPS URLs in items and remove this config for production.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="5"&gt;2. Check the actual load error:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Wrap loads in &lt;FONT color="#FF0000"&gt;&lt;EM&gt;try/catch&lt;/EM&gt;&lt;/FONT&gt; and print &lt;FONT color="#FF0000"&gt;&lt;EM&gt;loadError.message&lt;/EM&gt;&lt;/FONT&gt; and &lt;FONT color="#FF0000"&gt;&lt;EM&gt;loadError.additionalInfo&lt;/EM&gt;&lt;/FONT&gt;. With the ArcGIS Flutter plugin (which wraps the native SDK), you can do:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;final item = PortalItem.withPortalAndItemId(portal: dataMarksPortal , itemId: dataMarksBasemapId);
    await item.load();
    if (item.loadStatus != LoadStatus.loaded) {
      print('PortalItem failed: ${item.loadError?.message}');
    }

    final basemap = Basemap.withItem(item);
    await basemap.load();
    if (basemap.loadStatus != LoadStatus.loaded) {
      print('Basemap failed: ${basemap.loadError?.message}');
    }&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You’ll often see something explicit like “CLEARTEXT not permitted”, “401/403”, or a TLS/certificate error.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jan 2026 20:22:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678457#M151</guid>
      <dc:creator>HarishK</dc:creator>
      <dc:date>2026-01-16T20:22:15Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678581#M152</link>
      <description>&lt;P&gt;hello Harish.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i allready use Https everywhere as it is an AGOL organisation.&amp;nbsp;&lt;/P&gt;&lt;P&gt;i have tried the suggested error handling to check for load error, and i get no load error.&amp;nbsp;&lt;/P&gt;&lt;P&gt;i have included a screenshot to show the problem as you can see the basemaps are loaded in the app they just show up as blanks with used in the app.&amp;nbsp;&lt;/P&gt;&lt;P&gt;It work in newer versions.&amp;nbsp;&lt;/P&gt;&lt;P&gt;if i need to add more information please just say what you need &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;best regards Rasmus&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jan 2026 07:58:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1678581#M152</guid>
      <dc:creator>RasmusLind</dc:creator>
      <dc:date>2026-01-19T07:58:21Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1680626#M161</link>
      <description>&lt;P&gt;Thanks for the extra details and the screenshot, Rasmus – that’s helpful.&lt;BR /&gt;&lt;BR /&gt;To dig deeper we’ll need a small reproducible example and some device specifics, so we can try to reproduce this on our side. Could you share:&lt;BR /&gt;&lt;BR /&gt;1. &lt;STRONG&gt;Minimal code sample&lt;/STRONG&gt;&lt;BR /&gt;- A pared-down widget or sample app that:&lt;BR /&gt;- Creates the &lt;EM&gt;Basemap&lt;/EM&gt; from your AGOL group (including the &lt;EM&gt;Basemap.withItem(basemapItem.results[0])&lt;/EM&gt; part).&lt;BR /&gt;- Sets up the &lt;EM&gt;ArcGISMap&lt;/EM&gt; / &lt;EM&gt;ArcGISMapView&lt;/EM&gt; exactly as you do in your app.&lt;BR /&gt;- If possible, please strip it down to the smallest example that still shows the “blank basemap on older devices” behavior.&lt;BR /&gt;&lt;BR /&gt;2. &lt;STRONG&gt;Device and OS details&lt;/STRONG&gt;&lt;BR /&gt;For at least one device where it fails and one where it works:&lt;BR /&gt;- Device model and manufacturer (e.g. Samsung A52, Pixel 4a, etc.).&lt;BR /&gt;- Android version (e.g. Android 13, API 33-ext5) and whether it’s physical or emulator.&lt;BR /&gt;- CPU architecture (ARM64 vs x86, if you know it).&lt;BR /&gt;- App build type (debug/release) and whether you see the issue in both.&lt;BR /&gt;&lt;BR /&gt;3. &lt;STRONG&gt;SDK / tooling versions&lt;/STRONG&gt;&lt;BR /&gt;- ArcGIS Maps SDK for Flutter version.&lt;BR /&gt;- Flutter version (&lt;EM&gt;flutter --version&lt;/EM&gt;).&lt;BR /&gt;- Your app’s &lt;EM&gt;minSdkVersion&lt;/EM&gt;, &lt;EM&gt;targetSdkVersion&lt;/EM&gt;, and &lt;EM&gt;compileSdkVersion&lt;/EM&gt;.&lt;BR /&gt;&lt;BR /&gt;Once we have a minimal repro and those details, we can try to reproduce this under the same conditions and get back to you with further updates.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jan 2026 22:16:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1680626#M161</guid>
      <dc:creator>HarishK</dc:creator>
      <dc:date>2026-01-28T22:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1681041#M164</link>
      <description>&lt;P&gt;1. i have attached a file with code&lt;/P&gt;&lt;P&gt;2.&amp;nbsp;&lt;SPAN&gt;Samsung s20 Ultra, Android version 13&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;i run a virtuel device on android 13-0 pixel 7 where the error also happens .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;it work on a device that runs android 16&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;i see the issue in both the debug version and the released version&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;3. flutter sdk version&amp;nbsp;&lt;SPAN&gt;arcgis_maps&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;^200.8.0+4672&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;flutter version&amp;nbsp;3.38.5&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;minsdk 28,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; targetSDKversion =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;targetSdk &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; flutter&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;targetSdkVersion i think it is&amp;nbsp; version 34,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;compiledSdk is 36&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jan 2026 12:40:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1681041#M164</guid>
      <dc:creator>RasmusLind</dc:creator>
      <dc:date>2026-01-30T12:40:15Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1684885#M166</link>
      <description>&lt;P&gt;Hi — thanks for the detailed report and for sharing the AGOL group you’re using.&lt;/P&gt;&lt;P&gt;I investigated this on my side and was able to &lt;STRONG&gt;reproduce the issue on older Android devices&lt;/STRONG&gt;. The basemaps fail to draw, and the runtime repeatedly reports &lt;STRONG&gt;401 authentication errors&lt;/STRONG&gt; when it tries to access layers hosted on:&lt;/P&gt;&lt;PRE&gt;services&lt;SPAN class=""&gt;.datafordeler&lt;/SPAN&gt;&lt;SPAN class=""&gt;.dk&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;On newer Android versions the same WebMaps load without errors, which initially seems odd — but there is a likely explanation:&lt;/P&gt;&lt;H3&gt;Why it works on newer devices but not older ones&lt;/H3&gt;&lt;P&gt;Older Android builds often ship with &lt;STRONG&gt;outdated or missing CA root certificates&lt;/STRONG&gt;.&lt;BR /&gt;If the certificate chain for services.datafordeler.dk isn’t trusted on that OS version, the TLS handshake can fail or degrade in a way that results in &lt;STRONG&gt;authentication failures (401)&lt;/STRONG&gt; instead of a clean SSL error. Newer devices include updated CA bundles, so the same service appears to work even without explicitly handling authentication.&lt;/P&gt;&lt;P&gt;Since I don’t have access to your organization’s Datafordeler certificates or authentication setup, I can’t reproduce a successful connection here — but the behavior I’m seeing is consistent with a CA trust issue combined with the service requiring credentials.&lt;/P&gt;&lt;H3&gt;What I saw on my devices&lt;/H3&gt;&lt;P&gt;I tested on:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Samsung S24 Android 16&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Samsung Tab Android 9&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I’m attaching the Logcat output from both runs. The Android 9 device shows repeated authentication errors, while the newer device does not.&lt;/P&gt;&lt;H3&gt;What would help next&lt;/H3&gt;&lt;P&gt;To confirm that the issue on your device matches what I’m seeing, could you please share:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;A Logcat capture from one of the older devices where the basemap fails to load&lt;/STRONG&gt;&lt;BR /&gt;(from app start → first map draw)&lt;/P&gt;&lt;P&gt;Your Logcat will tell us whether:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;your device is also hitting 401s,&lt;/LI&gt;&lt;LI&gt;or whether it’s a certificate‑trust problem unique to your environment,&lt;/LI&gt;&lt;LI&gt;or something else entirely.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Once we have that, we can determine whether the fix is:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;installing the missing CA root(s),&lt;/LI&gt;&lt;LI&gt;configuring the Datafordeler service credentials inside the app,&lt;/LI&gt;&lt;LI&gt;or handling the authentication challenge explicitly through ArcGIS Runtime.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Happy to continue helping — just attach the Logcat and we’ll go from there.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Feb 2026 23:46:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1684885#M166</guid>
      <dc:creator>HarishK</dc:creator>
      <dc:date>2026-02-18T23:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1687623#M167</link>
      <description>&lt;P&gt;Hi Agian&amp;nbsp;&lt;/P&gt;&lt;P&gt;sorry for the long silence.&amp;nbsp;&lt;/P&gt;&lt;P&gt;i have the log here, looks like a auth error as you talk about&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Mar 2026 09:38:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1687623#M167</guid>
      <dc:creator>RasmusLind</dc:creator>
      <dc:date>2026-03-02T09:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1690101#M170</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Short answer&lt;/STRONG&gt;&lt;BR /&gt;This is a TLS trust‑store issue on older Android builds. Your basemaps ultimately hit &lt;A href="https://services.datafordeler.dk" target="_blank" rel="noopener"&gt;https://services.datafordeler.dk&lt;/A&gt;, whose current certificate chain (Sectigo “Public Server Authentication” hierarchy) isn’t in the system trust store on some older devices, so Android rejects the handshake. On newer OS versions the chain is trusted, so everything works. &lt;A href="https://www.sectigo.com/resource-library/changes-to-root-ca-hierarchies-and-trust-status" target="_blank" rel="noopener"&gt;[sectigo.com]&lt;/A&gt;, &lt;A href="https://developer.android.com/privacy-and-security/security-ssl" target="_blank" rel="noopener"&gt;[developer....ndroid.com]&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The ArcGIS Maps SDK for Flutter surfaces this as a &lt;STRONG&gt;NetworkAuthenticationChallenge&lt;/STRONG&gt;. Handle the &lt;STRONG&gt;&lt;A href="https://pub.dev/documentation/arcgis_maps/latest/arcgis_maps/ServerTrustAuthenticationChallenge-class.html" target="_blank" rel="noopener"&gt;ServerTrustAuthenticationChallenge&lt;/A&gt;&lt;/STRONG&gt; and explicitly trust that host at runtime.&lt;/P&gt;&lt;HR /&gt;&lt;H2&gt;Why it happens on older Android only&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;Android’s certificate trust store is part of the OS and evolves with releases. If a root/intermediate CA isn’t present (or has changed due to industry migrations), TLS handshakes fail even when the server is correctly configured. &lt;A href="https://developer.android.com/privacy-and-security/security-ssl" target="_blank" rel="noopener"&gt;[developer....ndroid.com]&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Sectigo has been migrating issuance to newer single‑purpose roots (e.g., R46/E46). Devices that haven’t received updated root stores may not recognize these chains until updated or handled in-app. &lt;A href="https://www.sectigo.com/resource-library/changes-to-root-ca-hierarchies-and-trust-status" target="_blank" rel="noopener"&gt;[sectigo.com]&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;HR /&gt;&lt;H2&gt;App‑level fix: trust the host when challenged&lt;/H2&gt;&lt;P&gt;The SDK lets you register a &lt;STRONG&gt;NetworkAuthenticationChallengeHandler&lt;/STRONG&gt;. When the device doesn’t trust a server cert, you’ll receive a &lt;STRONG&gt;ServerTrustAuthenticationChallenge&lt;/STRONG&gt;; respond with a &lt;STRONG&gt;ServerTrustNetworkCredential&lt;/STRONG&gt; to trust just that host and retry the request.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Scope &amp;amp; safety&lt;/STRONG&gt;: This trusts &lt;EM&gt;only&lt;/EM&gt; the host you specify and only inside your app (not system‑wide). It’s a standard, supported workflow in the ArcGIS Maps SDK. &lt;A href="https://developers.arcgis.com/flutter/security-and-authentication/authentication-api/" target="_blank" rel="noopener"&gt;[developers...arcgis.com]&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Code (Flutter / Dart):&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;import&lt;/SPAN&gt; &lt;SPAN class=""&gt;'dart&lt;/SPAN&gt;:async';
&lt;SPAN class=""&gt;import&lt;/SPAN&gt; &lt;SPAN class=""&gt;'package&lt;/SPAN&gt;:flutter/material.dart';
&lt;SPAN class=""&gt;import&lt;/SPAN&gt; &lt;SPAN class=""&gt;'package&lt;/SPAN&gt;:arcgis_maps/arcgis_maps.dart';

&lt;SPAN class=""&gt;// 1) (Optional) Persist network credentials across launches.&lt;/SPAN&gt;
&lt;SPAN class=""&gt;Future&lt;/SPAN&gt;&amp;lt;void&amp;gt; initAuthStores() async {
  await &lt;SPAN class=""&gt;ArcGISEnvironment&lt;/SPAN&gt;.authenticationManager.setNetworkCredentialStore(
    await &lt;SPAN class=""&gt;NetworkCredentialStore&lt;/SPAN&gt;.initPersistentStore(),
  ); &lt;SPAN class=""&gt;// persists in Android Keystore / iOS Keychain&lt;/SPAN&gt;
}

&lt;SPAN class=""&gt;Future&lt;/SPAN&gt;&amp;lt;void&amp;gt; main() async {
  &lt;SPAN class=""&gt;WidgetsFlutterBinding&lt;/SPAN&gt;.ensureInitialized();
  await initAuthStores();
  &lt;SPAN class=""&gt;// Set your API key here...&lt;/SPAN&gt;
  runApp(const &lt;SPAN class=""&gt;MyApp&lt;/SPAN&gt;());
}

&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;MyApp&lt;/SPAN&gt; &lt;SPAN class=""&gt;extends&lt;/SPAN&gt; &lt;SPAN class=""&gt;StatelessWidget&lt;/SPAN&gt; &lt;/SPAN&gt;{
  const &lt;SPAN class=""&gt;MyApp&lt;/SPAN&gt;({&lt;SPAN class=""&gt;super&lt;/SPAN&gt;.key});
  &lt;SPAN class=""&gt;@override&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;Widget&lt;/SPAN&gt; build(&lt;SPAN class=""&gt;BuildContext&lt;/SPAN&gt; context) =&amp;gt; const &lt;SPAN class=""&gt;MaterialApp&lt;/SPAN&gt;(home: &lt;SPAN class=""&gt;MapPage&lt;/SPAN&gt;());
}

&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;MapPage&lt;/SPAN&gt; &lt;SPAN class=""&gt;extends&lt;/SPAN&gt; &lt;SPAN class=""&gt;StatefulWidget&lt;/SPAN&gt; &lt;/SPAN&gt;{
  const &lt;SPAN class=""&gt;MapPage&lt;/SPAN&gt;({&lt;SPAN class=""&gt;super&lt;/SPAN&gt;.key});
  &lt;SPAN class=""&gt;@override&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;State&lt;/SPAN&gt;&amp;lt;&lt;SPAN class=""&gt;MapPage&lt;/SPAN&gt;&amp;gt; createState() =&amp;gt; _MapPageState();
}

&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;_MapPageState&lt;/SPAN&gt; &lt;SPAN class=""&gt;extends&lt;/SPAN&gt; &lt;SPAN class=""&gt;State&amp;lt;MapPage&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
    implements &lt;SPAN class=""&gt;NetworkAuthenticationChallengeHandler&lt;/SPAN&gt; {

  &lt;SPAN class=""&gt;@override&lt;/SPAN&gt;
  void initState() {
    &lt;SPAN class=""&gt;super&lt;/SPAN&gt;.initState();
    &lt;SPAN class=""&gt;// 2) Register this instance as the global network challenge handler.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;ArcGISEnvironment&lt;/SPAN&gt;.authenticationManager.networkAuthenticationChallengeHandler = &lt;SPAN class=""&gt;this&lt;/SPAN&gt;;
  }

  &lt;SPAN class=""&gt;@override&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;FutureOr&lt;/SPAN&gt;&amp;lt;void&amp;gt; handleNetworkAuthenticationChallenge(
      &lt;SPAN class=""&gt;NetworkAuthenticationChallenge&lt;/SPAN&gt; challenge) {

    &lt;SPAN class=""&gt;// 3) Trust services.datafordeler.dk only when the OS doesn't trust its cert.&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;if&lt;/SPAN&gt; (challenge is &lt;SPAN class=""&gt;ServerTrustAuthenticationChallenge&lt;/SPAN&gt; &amp;amp;&amp;amp;
        challenge.host == &lt;SPAN class=""&gt;'services&lt;/SPAN&gt;.datafordeler.dk') {
      challenge.continueWithCredential(
        &lt;SPAN class=""&gt;ServerTrustNetworkCredential&lt;/SPAN&gt;.forChallenge(challenge),
      );
      &lt;SPAN class=""&gt;return&lt;/SPAN&gt;;
    }

    &lt;SPAN class=""&gt;// For other challenges (Basic/Digest/NTLM/Client cert), handle as needed&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;// or fail so the error surfaces:&lt;/SPAN&gt;
    challenge.continueAndFail();
  }

  &lt;SPAN class=""&gt;@override&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;Widget&lt;/SPAN&gt; build(&lt;SPAN class=""&gt;BuildContext&lt;/SPAN&gt; context) {
    &lt;SPAN class=""&gt;return&lt;/SPAN&gt; &lt;SPAN class=""&gt;Scaffold&lt;/SPAN&gt;(
      body: &lt;SPAN class=""&gt;ArcGISMapView&lt;/SPAN&gt;(
        controllerProvider: () =&amp;gt; &lt;SPAN class=""&gt;ArcGISMapView&lt;/SPAN&gt;.createController()
          ..arcGISMap = &lt;SPAN class=""&gt;ArcGISMap&lt;/SPAN&gt;.withBasemapStyle(&lt;SPAN class=""&gt;BasemapStyle&lt;/SPAN&gt;.arcGISTopographic),
      ),
    );
  }
}&lt;/PRE&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;ServerTrustAuthenticationChallenge&lt;/STRONG&gt; is raised when the server cert is untrusted but the app can choose to proceed. &lt;A href="https://pub.dev/documentation/arcgis_maps/latest/arcgis_maps/ServerTrustAuthenticationChallenge-class.html" target="_blank" rel="noopener"&gt;[pub.dev]&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;ServerTrustNetworkCredential&lt;/STRONG&gt; tells the SDK to trust that host and retry; the credential is stored so subsequent requests to that host succeed. If you initialized a persistent &lt;STRONG&gt;NetworkCredentialStore&lt;/STRONG&gt;, it’s kept across app restarts.&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;If you use a toolkit-based authenticator instead of handling the API directly, the toolkit also includes UI and handling for server‑trust prompts. &lt;A href="https://developers.arcgis.com/flutter/security-and-authentication/implement-authentication/" target="_blank" rel="noopener"&gt;[developers...arcgis.com]&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Wed, 11 Mar 2026 22:59:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1690101#M170</guid>
      <dc:creator>HarishK</dc:creator>
      <dc:date>2026-03-11T22:59:47Z</dc:date>
    </item>
    <item>
      <title>Re: background maps not showing on older android systems.</title>
      <link>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1691877#M171</link>
      <description>&lt;P&gt;thanks for the help&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Mar 2026 08:46:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/flutter-maps-sdk-questions/background-maps-not-showing-on-older-android/m-p/1691877#M171</guid>
      <dc:creator>RasmusLind</dc:creator>
      <dc:date>2026-03-23T08:46:18Z</dc:date>
    </item>
  </channel>
</rss>

