Copy link to clipboard
Copied
Every apk I seem to publish in CS6 with 3.2 automatically includes these Sticky Broadcasts by default, no matter what permissions I check or if I am using or not using an ANE. What's the deal, what setting determines this, what are these sticky broadcasts? They sure do sound evil especially the description that comes with them. "...malicious applications can make phone slow or unstable..." I don't recall ever getting these in cs5.5 even with 3.2.
Someone explain please, most users don't seem to care but its not helping I am sure.
Copy link to clipboard
Copied
I'm having the same issue, and it seems to happen only when exporting a release build with captive runtime.
I'm using Flash Builder to create a Actionscript mobile project. After making sure I've edited the Andriod manifest in the xml file to not require any special permissions, Air still exports an apk file that asks for android.permission.INTERNET and android.permission.BROADCAST_STICKY.
I've tried on several different projects too -- captive runtime adds this regardless. I think it really sucks. My app doesn't need this baggage. What's the point Adobe, besides turning off cautious customers?
Copy link to clipboard
Copied
Was thinking of the same thing. I find it weird that a captive runtime forces you to have those two permissions, especially internet. I have an application with zero permissions that I'd like to publish as a captive apk, but because of this, I'm forced to use it as a non-captive one, and force the users to download AIR before they can use it... kinda awkward. Would love to understand the reasons behind it.
Copy link to clipboard
Copied
Hello AIR team can we get a response to this post?
Copy link to clipboard
Copied
There is an internal answer, and it is one you'll like. But, I'm not internal enough, and I can't be the one to tell you the answer!
Copy link to clipboard
Copied
Is this answer only related to the sticky intent, or to the internet permission too?
Copy link to clipboard
Copied
Just the sticky one. As far as I can tell you can deselect Internet in the Permissions list.
Copy link to clipboard
Copied
You cannot, that's the problem. It gets added regardless of the permissions you actually need.
http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac-4f1413de12cd45ccc23-8000.html
"Note: When you bundle the runtime, ADT adds the INTERNET and BROADCAST_STICKY permissions to your application. These permissions are required by the AIR runtime."
Still trying to find out the reason why.
Copy link to clipboard
Copied
Thanks for the tip off about the sticky permission. The internet one, though, definitely can't be deselected as far as I can tell. Appears like that permission is needed for debugging, and maybe can't be excluded from captive release builds yet?
Copy link to clipboard
Copied
If it was needed for debugging only, it would be optional and not added when creating a release APK.
But I don't think that's the case anyway. It is needed for debugging on non-captive builds too, but never added by itself; you have to turn it on manually for debugging (otherwise debugging won't work) and then turn it off when compiling a release version.
Copy link to clipboard
Copied
I think I got the go ahead to say this: the broadcast sticky permission has been removed, starting with AIR 3.4. The public beta of that already has the permission removed. Not that you can ship with it yet, but someday you will, and not have to worry about the sticky business.
The Internet one is still under debate, it may not be going anywhere for a while. But, it sounds less offensive than the broadcast sticky one, so most users won't mind too much about it still being required.
Copy link to clipboard
Copied
I certainly disagree, in that I think it's a huge deal that it's enforced even when not necessary (and with no reason given, which is what makes it kinda irritating).
But thanks for relaying the information Colin.
Copy link to clipboard
Copied
Looks like the Sticky Broadcasts are gone in AIR 3.4 the Internet Permission is still there.
Copy link to clipboard
Copied
The internet permission is deadly - not being able to exclude it means I can't use Captive Runtime. Please fix this!
Basically, if you are creating Apps for kids, parents do not want to see internet access in an app.
Copy link to clipboard
Copied
Agreed. We make interactive storybooks for kids, and the internet permission is both unnecessary and a turn-off to parents. I know that because I'll avoid buying apps for my children if the apps require certain permissions and I don't fully trust or recognize the developer.
I wish we could put a disclaimer to explain why we ask for the internet permission, but I can't decide what is worse: losing some cautious customers or admitting as a developer I don't have full control over the content of my application.
Actually, if someone from Adobe could offer a clear and official statement why internet permissions are required, maybe adding that to the app description could be a viable option.
Copy link to clipboard
Copied
I bet android.permission.INTERNET is just set so Adobe can track statistics with it. They making the great captive runtime feature total unusable! They should drop the permission request with the next release!! Any feedback on that, Adobe AIR team?
Copy link to clipboard
Copied
Is there a solution to this problem? How can I explain customers why my app wants to phone home? As mentioned in the discussion, AIR made apps simply have a big disadvantage when customers are forced to trust the app for a reason that even the developer doesn't really know.
Copy link to clipboard
Copied
Any updates on this issue? We can't get rid of the INTERNET permission in our apps? We make kids apps and don't want this to worry customers. Anyone have a way around?