Developing, optimizing, and maintaining a native Android mileage tracker is a bear, especially with the varying implementations of the Android OS across major manufacturers like Samsung, Google (Pixel), LG, Motorola, OnePlus, and others.Tight’s Android SDK removes this burden, allowing you to embed robust and mature mileage tracking functionality without requiring your development team to become experts on geofencing, GPS tracking, reverse geocoding, activities, background updates, and battery optimization in Kotlin.
The Tight SDK makes use of Maven Central (via gradle) to enable a quick and easy integration pathway for Android applications. Follow the steps in Tight Android SDK’s Github repository to install the SDK in your Android app.
The Tight Android SDK handles all the various permissions needed for automatic mileage tracking, without requiring your development team to learn all the nuances. When a user opts into mileage tracking, you’ll want to request mileage permissions, which includes all necessary mileage-related permissions.
Typically, Tight customer-partners display a toggle for whether the automatic mileage tracking functionality is enabled. When your user toggles automatic mileage tracking, your app should update the mileage tracking detection mode in the SDK.If your app also include a “start drive” and “stop drive” button for semi-automatic mileage tracking, your app should invoke the start semi-auto drive and stop drive functions, respectively.
Sometimes, users inadvertently revoke the permissions that are needed in order for mileage tracking to work with accuracy. Tight recommends listening for when those errors occur using Tight’s mileage permissions error delegate function, and then simply displaying a button/banner for your user to fix the error. When your user presses that button, you can simply invoke the request mileage permissions function.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Tight API","colors":{"primary":"#2ab2d1","light":"#2ad17b","dark":"#009c75"},"logo":{"light":"https://mintcdn.com/tight-7c882d74/g3bHUuD81P-TYOyV/logo/light.svg?fit=max\u0026auto=format\u0026n=g3bHUuD81P-TYOyV\u0026q=85\u0026s=7efc18a7fc4dff02d17ed0eb2de01e0c","dark":"https://mintcdn.com/tight-7c882d74/g3bHUuD81P-TYOyV/logo/dark.svg?fit=max\u0026auto=format\u0026n=g3bHUuD81P-TYOyV\u0026q=85\u0026s=59da536242351519afec1ab104b7d80c"},"favicon":"https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/favicon.svg?fit=max\u0026auto=format\u0026n=PBb8Gf8jW9PRt_Fg\u0026q=85\u0026s=1871b49a7fbf78ef4003d250529f1140","navbar":{"primary":{"type":"button","label":"Request Access","href":"https://www.tight.com/#get-started"}},"seo":{"metatags":{"canonical":"https://docs.tight.com"}},"integrations":{"ga4":{"measurementId":"G-64X67ZWYYY"}},"contextual":{"options":["claude","assistant","cursor","vscode","mcp","copy","chatgpt","perplexity","view"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tight-7c882d74","hasAudioNarration":false,"actualSubdomain":"tight-7c882d74","customDomains":["docs.tight.com"],"gitSource":{"type":"github","owner":"tight-embedded","repo":"traxdocs","deployBranch":"dev","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb30dfd61fde81da2f4fc3","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":484},{"language":"default","tag":"Reference","count":481},{"language":"default","tag":"Company Management","count":177},{"language":"default","tag":"Guides","count":88},{"language":"default","tag":"Embedded UI","count":78},{"language":"default","tag":"Integrations","count":69},{"language":"default","tag":"Products","count":62},{"language":"default","tag":"Invoicing","count":45},{"language":"default","tag":"Banks","count":44},{"language":"default","tag":"Transactions","count":40}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar:has(~#content-container [data-page-title=\"Playground\"]){display:none}#content-container:has([data-page-title=\"Playground\"]){margin-left:0}#content-area:has([data-page-title=\"Playground\"]) div:has(.chat-assistant-floating-input){display:none}#sidebar-content a{width:auto}#navigation-items{width:100%}"}],"page":{"pagePath":"v5.0/products/mileage-tracking/android-sdk","slug":"/v5.0/products/mileage-tracking/android-sdk","pageMetadata":{"title":"Android Mileage Tracking SDK","slug":"android-mileage-tracking-sdk","excerpt":"","hidden":false,"createdAt":"Mon Mar 31 2025 12:44:10 GMT+0000 (Coordinated Universal Time)","updatedAt":"Wed Apr 02 2025 00:29:39 GMT+0000 (Coordinated Universal Time)","description":null,"href":"/v5.0/products/mileage-tracking/android-sdk","hiddenSetByFrontmatter":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components},{Heading,OptimizedImage}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Developing, optimizing, and maintaining a native Android mileage tracker is a bear, especially with the varying implementations of the Android OS across major manufacturers like Samsung, Google (Pixel), LG, Motorola, OnePlus, and others.`}),`\n`,_jsx(_components.p,{children:`Tight’s Android SDK removes this burden, allowing you to embed robust and mature mileage tracking functionality without requiring your development team to become experts on geofencing, GPS tracking, reverse geocoding, activities, background updates, and battery optimization in Kotlin.`}),`\n`,_jsx(Heading,{level:`1`,id:`how-it-works`,children:`How it works`}),`\n`,_jsx(_components.p,{children:`The Tight Android SDK handles all location-related permissions, language, and error states, such that you simply need to add UI into your mobile app for enabling mileage tracker and then invoke the Tight SDK.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/tight-7c882d74/PBb8Gf8jW9PRt_Fg/v5.0/images/2edb9bf173e4582cbe6418df5c6db3760c3bad6d4f23628521929ab0c6c5464d-Android_Mileage_Demo.gif?s=3313f0dcff65d056de96b0b41d3572cd`,alt:`2edb9bf173e4582cbe6418df5c6db3760c3bad6d4f23628521929ab0c6c5464d-Android_Mileage_Demo.gif`,\"data-og-width\":`275`,width:`275`,\"data-og-height\":`600`,height:`600`,\"data-path\":`v5.0/images/2edb9bf173e4582cbe6418df5c6db3760c3bad6d4f23628521929ab0c6c5464d-Android_Mileage_Demo.gif`,\"data-optimize\":`true`,\"data-opv\":`3`}),`\n`,_jsxs(_components.p,{children:[`Tight supports `,_jsx(_components.a,{href:`/v5.0/products/mileage-tracking#automatic-mileage-tracking`,children:`automatic mileage tracking`}),`, `,_jsx(_components.a,{href:`/v5.0/products/mileage-tracking#semi-automatic-mileage-tracking`,children:`semi-automatic mileage tracking`}),`, and `,_jsx(_components.a,{href:`/v5.0/products/mileage-tracking#manual-mileage-tracking`,children:`manual mileage tracking`}),`, for both `,_jsx(_components.a,{href:`/v5.0/products/mileage-tracking#business-owneroperators`,children:`business owner-operators`}),` and `,_jsx(_components.a,{href:`/v5.0/products/mileage-tracking#employee-reimbursement`,children:`employees seeking reimbursement`}),`.`]}),`\n`,_jsx(Heading,{level:`1`,id:`getting-started`,children:`Getting started`}),`\n`,_jsx(Heading,{level:`2`,id:`set-up-the-sdk-using-swift-package-manager`,children:`Set up the SDK using Swift Package Manager`}),`\n`,_jsxs(_components.p,{children:[`The Tight SDK makes use of Maven Central (via gradle) to enable a quick and easy integration pathway for Android applications. Follow the steps in `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#setup`,children:`Tight Android SDK’s Github repository`}),` to install the SDK in your Android app.`]}),`\n`,_jsx(Heading,{level:`2`,id:`initialize-the-sdk`,children:`Initialize the SDK`}),`\n`,_jsxs(_components.p,{children:[`When your user logs into your Android app, you’ll want to `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#suspend-fun-initializecontext--context-accesstoken--string`,children:`initialize the Tight Android SDK`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-permissions`,children:`Request permissions`}),`\n`,_jsxs(_components.p,{children:[`The Tight Android SDK handles all the various permissions needed for automatic mileage tracking, without requiring your development team to learn all the nuances. When a user opts into mileage tracking, you’ll want to `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#fun-requestmileagepermissionscontext-context-requestpermissionlauncher-activityresultlauncherarraystring`,children:`request mileage permissions`}),`, which includes all necessary mileage-related permissions.`]}),`\n`,_jsx(Heading,{level:`2`,id:`start-mileage-tracking`,children:`Start mileage tracking`}),`\n`,_jsxs(_components.p,{children:[`Typically, Tight customer-partners display a toggle for whether the automatic mileage tracking functionality is enabled. When your user toggles automatic mileage tracking, your app should `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#suspend-fun-setmileagedetectionmodecontext-context-mileagedetectionmode-mileagedetectionmode`,children:`update the mileage tracking detection mode in the SDK`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`If your app also include a “start drive” and “stop drive” button for semi-automatic mileage tracking, your app should invoke the `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#suspend-fun-startsemiautodrive`,children:`start semi-auto drive`}),` and `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#suspend-fun-stopdrive`,children:`stop drive`}),` functions, respectively.`]}),`\n`,_jsx(Heading,{level:`2`,id:`display-permissions-errors-if-needed`,children:`Display permissions errors if needed`}),`\n`,_jsxs(_components.p,{children:[`Sometimes, users inadvertently revoke the permissions that are needed in order for mileage tracking to work with accuracy. Tight recommends listening for when those errors occur using Tight’s `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#fun-didmileagepermissionserroroccur`,children:`mileage permissions error delegate function`}),`, and then simply displaying a button/banner for your user to fix the error. When your user presses that button, you can simply invoke the `,_jsx(_components.a,{href:`https://github.com/Hurdlr/tight-android-sdk?tab=readme-ov-file#fun-requestmileagepermissionscontext-context-requestpermissionlauncher-activityresultlauncherarraystring`,children:`request mileage permissions`}),` function.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Android Mileage Tracking SDK","slug":"android-mileage-tracking-sdk","excerpt":"","hidden":false,"createdAt":"Mon Mar 31 2025 12:44:10 GMT+0000 (Coordinated Universal Time)","updatedAt":"Wed Apr 02 2025 00:29:39 GMT+0000 (Coordinated Universal Time)","description":null,"href":"/v5.0/products/mileage-tracking/android-sdk","hiddenSetByFrontmatter":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How it works","slug":"how-it-works","depth":1,"children":[]},{"title":"Getting started","slug":"getting-started","depth":1,"children":[]},{"title":"Set up the SDK using Swift Package Manager","slug":"set-up-the-sdk-using-swift-package-manager","depth":2,"children":[]},{"title":"Initialize the SDK","slug":"initialize-the-sdk","depth":2,"children":[]},{"title":"Request permissions","slug":"request-permissions","depth":2,"children":[]},{"title":"Start mileage tracking","slug":"start-mileage-tracking","depth":2,"children":[]},{"title":"Display permissions errors if needed","slug":"display-permissions-errors-if-needed","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tight-7c882d74","siteName":"Tight API","title":"Android Mileage Tracking SDK - Tight API","navMaps":{"firstHrefInVersion":{"v6.0":{"href":"/guides/business-owners/bank-transactions","matchLevel":2},"v5.0":{"href":"/v5.0/products/mileage-tracking/android-sdk","matchLevel":0},"v4.0":{"href":"/v4.0/api-reference/authentication/create-a-tight-account","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T17:40:52.424Z","originalFileLocation":"v5.0/products/mileage-tracking/android-sdk.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Tight API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Android Mileage Tracking SDK - Tight API\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tight API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tight-7c882d74.mintlify.site/_mintlify/api/og/v2?division=Mileage+Tracking\u0026amp;title=Android+Mileage+Tracking+SDK\u0026amp;theme=ca0c5593681485dcdd2fa8b5\u0026amp;signature=5455a10f257a2c9d138a19838c5685fe1359ccd979fe8d76fe05b7ebca533012\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Android Mileage Tracking SDK - Tight API\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tight-7c882d74.mintlify.site/_mintlify/api/og/v2?division=Mileage+Tracking\u0026amp;title=Android+Mileage+Tracking+SDK\u0026amp;theme=ca0c5593681485dcdd2fa8b5\u0026amp;signature=5455a10f257a2c9d138a19838c5685fe1359ccd979fe8d76fe05b7ebca533012\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tight-7c882d74/jFRG6eBf-CGG_9G0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tight API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2ab2d1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v5.0/products/mileage-tracking/android-sdk.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tight.com/#organization\",\"name\":\"Tight API\",\"url\":\"https://docs.tight.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tight-7c882d74/g3bHUuD81P-TYOyV/logo/light.svg?fit=max\u0026auto=format\u0026n=g3bHUuD81P-TYOyV\u0026q=85\u0026s=7efc18a7fc4dff02d17ed0eb2de01e0c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tight.com#website\",\"name\":\"Tight API\",\"url\":\"https://docs.tight.com\",\"publisher\":{\"@id\":\"https://docs.tight.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk#webpage\",\"url\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk\",\"name\":\"Android Mileage Tracking SDK\",\"dateModified\":\"2026-11-02T17:40:52.424Z\",\"isPartOf\":{\"@id\":\"https://docs.tight.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Products\",\"item\":\"https://docs.tight.com/v5.0/products/accounting/bookkeepers/accountant-dashboard\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mileage Tracking\",\"item\":\"https://docs.tight.com/v5.0/products/mileage-tracking/ios-sdk\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Android Mileage Tracking SDK\",\"item\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk#article\",\"headline\":\"Android Mileage Tracking SDK\",\"name\":\"Android Mileage Tracking SDK\",\"url\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tight.com/v5.0/products/mileage-tracking/android-sdk#webpage\"},\"dateModified\":\"2026-11-02T17:40:52.424Z\",\"publisher\":{\"@id\":\"https://docs.tight.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tight.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tight API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tight API","nav":{"global":null,"versions":[{"version":"v6.0","pages":[{"title":"v6.0","href":"/guides/business-owners/bank-transactions"}]},{"version":"v5.0","tabs":[{"tab":"Guides","icon":"guides","groups":[{"group":"Getting Started","pages":[{"title":"Welcome to the Tight API","hidden":false,"href":"/v5.0/getting-started/overview"},{"group":"Quickstart","pages":[{"title":"User Creation","hidden":false,"href":"/v5.0/getting-started/quickstart/user-creation"},{"title":"Data Sources","hidden":false,"href":"/v5.0/getting-started/quickstart/data-sources"},{"title":"Embedded UI","hidden":false,"href":"/v5.0/getting-started/quickstart/embedded-ui"},{"title":"Launch","hidden":false,"href":"/v5.0/getting-started/quickstart/launch"},{"title":"User Activation","hidden":false,"href":"/v5.0/getting-started/quickstart/user-activation"}]},{"group":"API Patterns","pages":[{"title":"Authentication","hidden":false,"href":"/v5.0/getting-started/api-patterns/authentication"},{"title":"Pagination","hidden":false,"href":"/v5.0/getting-started/api-patterns/pagination"},{"title":"Webhooks","hidden":false,"href":"/v5.0/getting-started/api-patterns/webhooks"},{"title":"Rate Limiting","hidden":false,"href":"/v5.0/getting-started/api-patterns/rate-limiting"},{"title":"Errors","href":"/v5.0/getting-started/api-patterns/errors"}]}]},{"group":"Products","pages":[{"group":"Accounting","pages":[{"group":"Bookkeepers","pages":[{"title":"Accountant Dashboard","hidden":false,"href":"/v5.0/products/accounting/bookkeepers/accountant-dashboard"},{"title":"Client-facing Dashboard","hidden":false,"href":"/v5.0/products/accounting/bookkeepers/client-facing-dashboard"}]},{"title":"Chart of Accounts","hidden":false,"href":"/v5.0/products/accounting/chart-of-accounts"},{"title":"General Ledger","hidden":false,"href":"/v5.0/products/accounting/general-ledger"}]},{"group":"Bank Transactions","pages":[{"group":"Expenses","pages":[{"title":"Data Sources","hidden":false,"href":"/v5.0/products/bank-transactions/expenses/data-sources"},{"title":"Business Categorization","hidden":false,"href":"/v5.0/products/bank-transactions/expenses/business-categorization"},{"title":"Tax Categorization","hidden":false,"href":"/v5.0/products/bank-transactions/expenses/tax-categorization"},{"title":"Personal Expenses","hidden":false,"href":"/v5.0/products/bank-transactions/expenses/personal-expenses"}]},{"group":"Income","pages":[{"title":"Data Sources","hidden":false,"href":"/v5.0/products/bank-transactions/income/data-sources"},{"title":"Self-Employed \u0026 Business Income","hidden":false,"href":"/v5.0/products/bank-transactions/income/self-employed-business-income"},{"title":"Investment Income","hidden":false,"href":"/v5.0/products/bank-transactions/income/investment-income"},{"title":"Personal Income (W-2)","hidden":false,"href":"/v5.0/products/bank-transactions/income/personal-income-w2"}]}]},{"group":"Data Lakes","pages":[{"title":"Amazon S3 Data Lake","hidden":false,"href":"/v5.0/products/data-lakes/amazon-s3"},{"title":"Google Cloud Storage Data Lake","hidden":false,"href":"/v5.0/products/data-lakes/google-cloud-storage"},{"title":"Lifecycle Event Dictionary","href":"/v5.0/products/data-lakes/lifecycle-event-dictionary"}]},{"group":"Financial Statements","pages":[{"title":"Accounting Reports","hidden":false,"href":"/v5.0/products/financial-statements/accounting-reports"},{"title":"Income Reports","hidden":false,"href":"/v5.0/products/financial-statements/income-reports"},{"title":"Expense Reports","hidden":false,"href":"/v5.0/products/financial-statements/expense-reports"}]},{"group":"Imports","pages":[{"title":"Bench","hidden":false,"href":"/v5.0/products/imports/bench"},{"title":"QuickBooks Online","hidden":false,"href":"/v5.0/products/imports/quickbooks-online"},{"title":"Xero","hidden":false,"href":"/v5.0/products/imports/xero"}]},{"group":"Invoicing","pages":[{"title":"Customizing Design \u0026 Branding","hidden":false,"href":"/v5.0/products/invoicing/design-branding"},{"title":"Creating a Client","hidden":false,"href":"/v5.0/products/invoicing/creating-a-client"},{"title":"Creating an Invoice Draft/Quote","hidden":false,"href":"/v5.0/products/invoicing/creating-invoice-draft"},{"title":"Finalizing an Invoice","hidden":false,"href":"/v5.0/products/invoicing/finalizing-invoice"},{"title":"Managing Finalized Invoices","hidden":false,"href":"/v5.0/products/invoicing/managing-finalized-invoices"},{"title":"Payment Processing","hidden":false,"href":"/v5.0/products/invoicing/payment-processing"},{"title":"Embeddable User Interface (Invoice Dashboard)","hidden":false,"href":"/v5.0/products/invoicing/embeddable-invoice-dashboard"},{"title":"Embeddable User Interface (Client-facing Invoice)","hidden":false,"href":"/v5.0/products/invoicing/embeddable-client-facing-invoice"}]},{"group":"Mileage Tracking","pages":[{"title":"iOS Mileage Tracking SDK","hidden":false,"description":null,"href":"/v5.0/products/mileage-tracking/ios-sdk"},{"title":"Android Mileage Tracking SDK","hidden":false,"href":"/v5.0/products/mileage-tracking/android-sdk"}]},{"group":"Taxes","pages":[{"group":"Tax Estimates","pages":[{"title":"Tax Profile","hidden":false,"description":null,"href":"/v5.0/products/taxes/tax-estimates/tax-profile"},{"title":"Income Streams","hidden":false,"href":"/v5.0/products/taxes/tax-estimates/income-streams"},{"title":"Tax Estimates","hidden":false,"href":"/v5.0/products/taxes/tax-estimates/tax-estimates"},{"title":"Embeddable User Interface (Tax Dashboard)","hidden":false,"href":"/v5.0/products/taxes/tax-estimates/embeddable-tax-dashboard"}]},{"group":"Tax Reporting","pages":[{"title":"Schedule C","hidden":false,"href":"/v5.0/products/taxes/tax-reporting/schedule-c"},{"title":"Schedule E (coming soon)","hidden":false,"href":"/v5.0/products/taxes/tax-reporting/schedule-e"},{"title":"Form 1065","hidden":false,"href":"/v5.0/products/taxes/tax-reporting/form-1065"},{"title":"Form 1120-S","hidden":false,"href":"/v5.0/products/taxes/tax-reporting/form-1120-s"},{"title":"Form 1120","hidden":false,"href":"/v5.0/products/taxes/tax-reporting/form-1120"},{"title":"T2125 (Canada)","hidden":false,"href":"/v5.0/products/taxes/tax-reporting/t2125-canada"}]},{"title":"Tax Filing","hidden":false,"href":"/v5.0/products/taxes/tax-filing"}]}]},{"group":"International Support","pages":[{"title":"Canada","hidden":false,"href":"/v5.0/international-support/canada"}]}]},{"tab":"Embedded UI","pages":[{"title":"Embedded UI","href":"/v5.0/embeddable-ui/white-labeled-experience/business-owner-ux"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/v5.0/integrations/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/v5.0/api-reference/authentication/create-a-tight-account"}]},{"tab":"Playground","pages":[{"title":"Playground","href":"/v5.0/playground"}]},{"tab":"Releases","pages":[{"title":"Releases","href":"/roadmap/releases"}]},{"tab":"API Status","href":"https://status.tight.com/"}]},{"version":"v4.0","pages":[{"title":"v4.0","href":"/v4.0/api-reference/authentication/create-a-tight-account"}]}]},"basePath":"","title":"Android Mileage Tracking SDK - Tight API","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BFbLClTf.js","lightbox-handle-r17bVUz3.js"]}