<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shubhang Dixit</title>
    <description>The latest articles on DEV Community by Shubhang Dixit (@shubhangd).</description>
    <link>https://dev.to/shubhangd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3955640%2F3ecdc4c2-a3eb-4462-9078-3fc22de0b036.jpeg</url>
      <title>DEV Community: Shubhang Dixit</title>
      <link>https://dev.to/shubhangd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shubhangd"/>
    <language>en</language>
    <item>
      <title>I was frustrated by breaking of banking/upi apps when android dev settings are turned on. So built this</title>
      <dc:creator>Shubhang Dixit</dc:creator>
      <pubDate>Mon, 10 Aug 2026 05:30:06 +0000</pubDate>
      <link>https://dev.to/shubhangd/i-was-frustrated-by-breaking-of-bankingupi-apps-when-android-dev-settings-are-turned-on-so-built-45n3</link>
      <guid>https://dev.to/shubhangd/i-was-frustrated-by-breaking-of-bankingupi-apps-when-android-dev-settings-are-turned-on-so-built-45n3</guid>
      <description>&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt; - I started building Android apps 3 years ago, and that is the best thing that happened to me. But Android has some shortcoming too. For Devs, it's the Android Developer options, To enable Android Developer Options, First you have to &lt;br&gt;
1)Go to Settings &lt;br&gt;
2)Go to About Phone &lt;br&gt;
3)Find where is build number &lt;br&gt;
4)Click it 7 times &lt;br&gt;
5)Enter your passcode &lt;br&gt;
6)Then go to the developer options Settings &lt;br&gt;
7)And Finally enable android developer settings&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You have to perform 7 freaking steps!!&lt;/strong&gt; to just enable 1 setting. And to be quite frank. I can do that, it's no problem but just for one time. I use my development phone as my primary phone and many of you also might be using the same phone for development and for personal use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issue&lt;/strong&gt; - I go anywhere, even a grocery store and try to pay. Because my developer options are active, Now I cannot open my UPI/Banking apps and that to me, is very absurd(I came to know that google is now redacting the ability of apps to read if the developer options are enabled or not in later versions). And this was very frustrating for me at times. Because i just had to make one 20 rupees  transaction and i have to give the shopkeeper a whole walkthrough of my settings app. Close the UPI app, go to developer options and then disable the settings to just perform one 20 rupees transaction. &lt;/p&gt;



&lt;p&gt;One day I got so frustrated, i tried looking for solutions. I sat and researched and finally i found something. Android has a database of all android settings called the Settings Provider. and you can manipulate it and change any setting of your android phone, but it needed a special permission, that cannot be accesed just like a normal permission in your android app where a dilaog box will open and you can just click &lt;em&gt;Grant Permission&lt;/em&gt;. And kaboom you can now have the access to all the settings.&lt;/p&gt;

&lt;p&gt;Actually No, If this were true, it would be a huge &lt;strong&gt;security exploit&lt;/strong&gt; as normal users don't clearly examines why this particular app needs this permission and just give the permission away. So, Android team decided to just make this permission a &lt;em&gt;special permission&lt;/em&gt;, which means you can give this permission to an android app over adb only.&lt;/p&gt;

&lt;p&gt;The permission is &lt;code&gt;WRITE_SECURE_SETTINGS&lt;/code&gt;. I made the app and decided to make a widget to quickly give the user access to the developer settings. The widget acted as a toggle to enable/disable the developer options.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffeyzh7xtbdmi8wjyj6sd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffeyzh7xtbdmi8wjyj6sd.png" alt="The widget in Loophole" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Furthermore I thought if somebody is not a big fan of widgets then what? That's why i made a &lt;em&gt;Quick settings&lt;/em&gt; toggle tile. So, the user can open the notification bar and can enable/disable the developer options.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5ank7lny4zv9kqkmgl0k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5ank7lny4zv9kqkmgl0k.png" alt="The quick settings tile in Loophole" width="370" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it&lt;br&gt;
NO 7 times tapping&lt;br&gt;
NO Awkward walkthrough of your settings app in public places&lt;br&gt;
NO frustration of repeatedly enabling/disabling developer options.&lt;/p&gt;

&lt;p&gt;and the most perfect thing? The code is open source.&lt;br&gt;
you can check it out &lt;a href="https://github.com/shubhang-d/Loophole/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/shubhang-d" rel="noopener noreferrer"&gt;
        shubhang-d
      &lt;/a&gt; / &lt;a href="https://github.com/shubhang-d/Loophole" rel="noopener noreferrer"&gt;
        Loophole
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Toggle Android Developer Options from Quick Settings in one tap. Built so banking apps and dev work don't collide.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/143957984/622443503-a443f50d-9ff2-43a1-9494-6529a2af0086.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODYzNDAxMTAsIm5iZiI6MTc4NjMzOTgxMCwicGF0aCI6Ii8xNDM5NTc5ODQvNjIyNDQzNTAzLWE0NDNmNTBkLTlmZjItNDNhMS05NDk0LTY1MjlhMmFmMDA4Ni5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDgxMFQwNTMwMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wMzkyZDA0Y2ViYTg1MmQwNmY4MzUzNmYyODdlNTc1YTU5YTZkNDM5ZDBmZjlhYzljOTQ5OGI5OTBiMzcwMzMwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZqcGVnIn0.aVCHy9qn3dAjxPEPBOHL6Rz37CfXkWZOKgELH33JmYY"&gt;&lt;img width="1280" height="auto" alt="high-level-description-a-wide-pop-art-ma_wSOFhWtDWoeQuf7fbIE5eg_gxXTmUIIR2yzYfyM5ID3wQ" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F143957984%2F622443503-a443f50d-9ff2-43a1-9494-6529a2af0086.jpg%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODYzNDAxMTAsIm5iZiI6MTc4NjMzOTgxMCwicGF0aCI6Ii8xNDM5NTc5ODQvNjIyNDQzNTAzLWE0NDNmNTBkLTlmZjItNDNhMS05NDk0LTY1MjlhMmFmMDA4Ni5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDgxMFQwNTMwMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wMzkyZDA0Y2ViYTg1MmQwNmY4MzUzNmYyODdlNTc1YTU5YTZkNDM5ZDBmZjlhYzljOTQ5OGI5OTBiMzcwMzMwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZqcGVnIn0.aVCHy9qn3dAjxPEPBOHL6Rz37CfXkWZOKgELH33JmYY"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;
  &lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/143957984/622443802-55448676-5b54-4d99-920a-838f8c4f1af2.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODYzNDAxMTAsIm5iZiI6MTc4NjMzOTgxMCwicGF0aCI6Ii8xNDM5NTc5ODQvNjIyNDQzODAyLTU1NDQ4Njc2LTViNTQtNGQ5OS05MjBhLTgzOGY4YzRmMWFmMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDgxMFQwNTMwMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NmM3NWZlOTE0NDBkZTM2MDg0NzVmZDljNTM1ODMwMjI4YjA1ZTg4NzRlNzRlNmRhOTZiODc0ZjZjODE0Y2M4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.Y1FzBYnBHPdmynMzKBJF0gdxlSlUz6rduySahJbFssw"&gt;&lt;img width="128" height="128" alt="make-the-shackle-of-the-padlock-look-like-it-s-sha" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F143957984%2F622443802-55448676-5b54-4d99-920a-838f8c4f1af2.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODYzNDAxMTAsIm5iZiI6MTc4NjMzOTgxMCwicGF0aCI6Ii8xNDM5NTc5ODQvNjIyNDQzODAyLTU1NDQ4Njc2LTViNTQtNGQ5OS05MjBhLTgzOGY4YzRmMWFmMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwODEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDgxMFQwNTMwMTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NmM3NWZlOTE0NDBkZTM2MDg0NzVmZDljNTM1ODMwMjI4YjA1ZTg4NzRlNzRlNmRhOTZiODc0ZjZjODE0Y2M4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.Y1FzBYnBHPdmynMzKBJF0gdxlSlUz6rduySahJbFssw" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Loophole&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;b&gt;A one-tap Quick Settings toggle for Android Developer Options — so your banking apps stop throwing a fit while you're building.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/shubhang-d/Loophole/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/7459197e29a90d4b1e72eea47ba782083957d24801401c4c2d1a5d1ac707d900/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d416e64726f69642d3344444338343f6c6f676f3d616e64726f6964"&gt;&lt;img src="https://camo.githubusercontent.com/7459197e29a90d4b1e72eea47ba782083957d24801401c4c2d1a5d1ac707d900/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d416e64726f69642d3344444338343f6c6f676f3d616e64726f6964" alt="Platform"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/2ec26397b4da4e59ac4b8acf14e8807722e9df3fc7e86f191549fcc09831cd2f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d696e53646b2d32342d626c7565"&gt;&lt;img src="https://camo.githubusercontent.com/2ec26397b4da4e59ac4b8acf14e8807722e9df3fc7e86f191549fcc09831cd2f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d696e53646b2d32342d626c7565" alt="Min SDK"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/07a1774a7436211b9d4f076b82b1083d221ed439ed7b40ff89d27fba70089e34/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4b6f746c696e2d436f6d706f73652d3746353246463f6c6f676f3d6b6f746c696e"&gt;&lt;img src="https://camo.githubusercontent.com/07a1774a7436211b9d4f076b82b1083d221ed439ed7b40ff89d27fba70089e34/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4b6f746c696e2d436f6d706f73652d3746353246463f6c6f676f3d6b6f746c696e" alt="Kotlin"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/shubhang-d/Loophole/CONTRIBUTING.md" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dd0b24c1e6776719edb2c273548a510d6490d8d25269a043dfabbd38419905da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e737667" alt="PRs Welcome"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The problem&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;If you're an Android developer, Developer Options is basically always on. But
a lot of banking and fintech apps treat that as a red flag and refuse to
open, or silently degrade, while it's enabled — even though you're not doing
anything shady, you're just building.&lt;/p&gt;
&lt;p&gt;The normal fix is: open Settings → System → Developer Options → toggle it off
→ open your banking app → remember to go back and turn it on again later.
Every. Single. Time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Loophole&lt;/strong&gt; turns that into one tap from the notification shade.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Reads and toggles &lt;code&gt;Settings.Global.DEVELOPMENT_SETTINGS_ENABLED&lt;/code&gt; directly&lt;/li&gt;
&lt;li&gt;Ships as a &lt;strong&gt;Quick Settings tile&lt;/strong&gt; — pull down the shade, tap, done&lt;/li&gt;
&lt;li&gt;Includes a simple in-app switch as a fallback / status view&lt;/li&gt;
&lt;li&gt;No ads, no analytics…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/shubhang-d/Loophole" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;If you like my work, You can give it a star too😁. Currently we are at 70+ stars&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>android</category>
      <category>mobile</category>
      <category>reactnative</category>
    </item>
  </channel>
</rss>
