<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
	<channel>
		<title>App Ops Controlling Permissions on Android | Infinum</title>
		<atom:link href="https://infinum.com/blog/app-ops-controlling-permissions-on-android/feed/" rel="self" type="application/rss+xml" />
		<link>https://infinum.com/blog/app-ops-controlling-permissions-on-android/</link>
		<description>Building digital products</description>
		<lastBuildDate>Fri, 03 Apr 2026 12:58:20 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>8140https://infinum.com/uploads/2014/02/app-ops-controlling-permissions-on-android-0.webp</url>
				</image>
				<title>App Ops  Controlling Permissions on Android</title>
				<link>https://infinum.com/blog/app-ops-controlling-permissions-on-android/</link>
				<pubDate>Mon, 14 Oct 2013 03:20:00 +0000</pubDate>
				<dc:creator>Marko Vitas</dc:creator>
				<guid isPermaLink="false">https://infinum.com/the-capsized-eight/app-ops-controlling-permissions-on-android/</guid>
				<description>
					<![CDATA[<p>Android 4.3 brought us a hidden section in Settings which enables revoking of permissions used by installed apps.</p>
<p>The post <a href="https://infinum.com/blog/app-ops-controlling-permissions-on-android/">App Ops  Controlling Permissions on Android</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-187"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	The new Android 4.3 brought us a hidden section in Settings which enables revoking of permissions used by installed apps. Let’s see what effect this will have on users, developers and companies when it comes to privacy, improved usability, profit and software design.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	First of all, let’s see what the competition already has in comparison to App Ops. Afterwards, we will have a look at the current implementation of App Ops. Finally, we’ll cover benefits and drawbacks of this new feature and the extent of its impact on developers, users and Android as a whole.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-99">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-100'
	>
	iOS vs Android permissions</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-102"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-103">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2014/02/app-ops-controlling-permissions-on-android-1.webp"
					class="image__img block-media__image-img"
					alt=""
										height="640"
															width="960"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-105">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-106'
	>
	Unlike Android, iOS doesn’t ask the user to accept app permissions when installing the app. On iOS, the user is prompted to allow the usage of private data only once the data is requested. In my opinion, this is a fine approach, because the user can see the specific moment when the permission is requested and, therefore, transparency is guaranteed.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-108">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-109'
	>
	Contrary to iOS, Android asks for permissions once, when the app is being installed, and doesn’t provide the user with the possibility to disable some permissions/features of the app later on.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	This is all changed with a hidden feature released in version 4.3 (Jelly Bean), which allows users to revoke permissions after installing a particular app. If you are lucky enough to have an Android 4.3 device in your pocket, you can try App Ops Starter, a simple app which unlocks Google’s hidden App Ops interface for managing permissions of installed applications.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-116"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-114">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-115'
	>
	The guys from <a href="https://www.androidpolice.com/">Android Police</a> who discovered this feature also found a textual resource in the package manager, indicating that the user will also have the possibility to revoke permissions at the time of installation as well.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-119"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-117">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-118'
	>
	<strong>Please beware:</strong> when you start revoking app permissions, most, if not all, of your apps will crash and won’t be usable. That’s expected, because current versions of installed apps are not yet aware that their permissions can be forcefully revoked after installation.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-122"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-120">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-121'
	>
	Permission grouping</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-125"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-123">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-124'
	>
	iOS permissions are grouped in a pretty simple manner: <em>Location Services</em>, <em>Contacts</em>, <em>Calendars</em>, <em>Reminders</em>, <em>Photos</em>, <em>Bluetooth Sharing</em>, <em>Microphone</em>, <em>Twitter</em>, <em>Facebook</em> and <em>Push Notifications</em>. The user can revoke them at any time from the <em>Notification Center</em> (<em>Push Notifications</em>) and <em>Privacy</em> (all other permissions).</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-128"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-126"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-auto" data-id="es-127">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2014/02/app-ops-controlling-permissions-on-android-2.webp"
					class="image__img block-media__image-img"
					alt=""
										height="960"
															width="640"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-131"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-129">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-130'
	>
	Android has quite a bit more of <a href="https://developer.android.com/reference/android/Manifest.permission.html">permissions</a> and it will be interesting to see how App Ops will group them in order to logically disable parts of the app. Will it follow the <a href="https://developer.android.com/reference/android/Manifest.permission_group.html">permission groups</a> that already exist or will it use a more fine grained approach with smaller groups of interest?</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-134"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-132">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-133'
	>
	App Ops appearance</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-137"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-135">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-136'
	>
	There are four handy tabs: <em>Location</em>, <em>Personal</em> (<em>Contacts</em>, <em>Accounts</em>), <em>Messaging</em> and <em>Device</em> (hardware features, such as camera). Each tab displays when an app used OS features or collected data.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-140"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-138"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-auto" data-id="es-139">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2014/02/app-ops-controlling-permissions-on-android-3.webp"
					class="image__img block-media__image-img"
					alt=""
										height="1280"
															width="768"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-143"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-141">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-142'
	>
	<strong>NOTE</strong>: Some permissions only appear in the permission list once they are first used.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-146"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-144">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-145'
	>
	Benefits and drawbacks</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-149"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-147">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-148'
	>
	So, it seems that selective permission handling on Android could be a great thing. The openness of the platform strikes once again and gives users the possibility to even more freely choose the interaction and behavior of apps installed on their smartphone or tablet. Let’s check some benefits and drawbacks of the current implementation of App Ops.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-152"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-150">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-151'
	>
	Benefits</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-155"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-153">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-154'
	>
	<li>It adds transparency to the whole interaction between the user and app, meaning that, in time, users should feel much safer about private data handling. This could push some of the more paranoid users to view Android as a viable platform.</li><li>In my opinion, the biggest benefit from App Ops in the long term is improved quality of code. I think that, in order to build apps which allow the user to turn permissions/features ON and OFF, we have to think a bit more about the architecture of the app we are building. In other words, we will have to focus our efforts on building modular architectures with plug and play capability.</li><li>Making apps compatible with App Ops will be mandatory, and that opens the opportunity for additional profit.</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-158"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-156">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-157'
	>
	Drawbacks</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-161"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-159">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-160'
	>
	<li>Many apps crash at the moment.</li><li>No real way of knowing that the user has revoked permissions through App Ops (current methods still return that the permission is available) → tech support hell</li><li>Blindly catching null pointers? Ha, Google?</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-164"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-162">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-163'
	>
	Third party players</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-167"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-165">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-166'
	>
	<li>Manufacturers with custom Android versions will most probably remove App Ops in order to limit the user’s possibility to mess around with their custom launchers and apps.</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-170"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-168">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-169'
	>
	So what to expect on the horizon</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-173"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-171">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-172'
	>
	As stated before, in the long term, App Ops could provide a nice boost in terms of quality of code, as it will force a more modular approach in <a href="https://infinum.com/mobile-web-apps/">app development</a>, which will reflect in a plug-in architecture dev approach/design.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-176"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-174">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-175'
	>
	Android will benefit in the way that users will see that Google cares about their privacy and freedom of choice by forcing software companies to adapt. Users just have to sit back, relax, and wait for the change.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-179"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-177">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-178'
	>
	The biggest drawback will once again be slower adoption of the feature due to Android fragmentation. Some users won’t be able to update to the latest version of the OS and some will be left out intentionally by some Android device vendors.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-182"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-180">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-181'
	>
	Overall, the reputation of the platform should see a positive boost and push the competition further away.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-185"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-183">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-184'
	>
	Stay tuned for updates!</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/app-ops-controlling-permissions-on-android/">App Ops  Controlling Permissions on Android</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>