Sunday, May 5, 2013

[android-developers] Re: Exported receiver does not require permission - what should I do with BOOT receivers

Did you read the answer you quoted?
"IF you didnt set any permissions for it."

And back to my first answer, had you read the docs you would have seen this:
"The name of a permission that broadcasters must have to send a message to the broadcast receiver. If this attribute is not set, the permission set by the <application> element's permission attribute applies to the broadcast receiver. "

Now, you didn't provide the Permission attribute of you manifest (nor the Uses-Permissions), but i'd bet a pretty penny that it has receive_boot_completed there...since you know.. it doesn't work without it.

BTW, some of the questions are just plain annoying which is why i ignored them and just let you figure it out yourself with the docs... "Does it mean that it won't work if exported="false" ?"  Why are you asking us? Instead of posting a question about it, isn't it easier to just do a quick test instead of relying on the memory of other people?  You already have the code ready.. just run the damn thing and check.

Also, considering this is only a warning, you're giving it way too much emphasis.


On Sunday, May 5, 2013 6:29:52 PM UTC+3, Palmer Eldritch wrote:
Did you read the question ?

"
If Exported=True or Exported is not set and it has an Intent Filter, you get a warning saying you didn't specify any permissions for it IF you didnt set any permissions for it.
"

I HAVE an intent filter and I get NO warning - I have posted the manifest and specific questions
Please read before posting - I feel a bit offended being redirected to the docs after the effort I put in asking this

On Sunday, May 5, 2013 10:22:07 AM UTC+3, Piren wrote:
Did you read the docs? what's not to get here?
http://developer.android.com/guide/topics/manifest/receiver-element.html#prmsn

If Exported=False or not set and no IntentFilter, only your app can access it so it needs no permissions thus no warning.
If Exported=True or Exported is not set and it has an Intent Filter, you get a warning saying you didn't specify any permissions for it IF you didnt set any permissions for it.



On Saturday, May 4, 2013 3:47:06 PM UTC+3, Palmer Eldritch wrote:
Still interested in this

1. Why there is no warning :

    <receiver <!-- no warning -->
        android:name=".receivers.TriggerMonitoringBootReceiver"
        android:enabled="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

Does it mean that it won't work if exported="false" ? In this case :

2. Which intents are meant to be exported with no warnings ? All the intents in android.intent.action. namespace ?

There are reports that contradict that - adding to general confusion.
See for instance :

http://stackoverflow.com/questions/11462936/exported-activity-does-not-require-permission-when-attempting-to-launch-from-a/11526028#comment18783318_11526028
http://stackoverflow.com/questions/11875371/what-permission-should-i-use-to-receiver-of-android-notitications#comment15822652_11875525
http://stackoverflow.com/questions/13517128/android-onbootreceiver-exported-receiver-does-not-require-permission#comment23027535_13517128
http://stackoverflow.com/questions/16112470/android-exported-receiver-does-not-require-permission-on-receivers-meant-to
http://stackoverflow.com/a/12180426/281545
http://stackoverflow.com/questions/12718231/making-nfc-activity-private-without-androidexported-false
http://stackoverflow.com/questions/14381807/how-to-stop-opening-the-application-from-other-application-in-android/14381976#14381976

As you see both black and white are true so I would appreciator some official feedback
In short - when one has receivers that receive System intents like "android.intent.action.BOOT_COMPLETED" and "android.net.wifi.SCAN_RESULTS" - setting the `exported="false"` will prevent the receivers from working ? Is this the reason why "Exported receiver does not require permission" warning is not displayed ? Which intents fall into this category ?

Thanks :)

On Saturday, April 20, 2013 3:44:52 PM UTC+3, Palmer Eldritch wrote:
I have the following receivers declared :
<pre>
    <receiver <!-- no warning -->
        android:name=".receivers.TriggerMonitoringBootReceiver"
        android:enabled="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    <receiver <!-- no warning -->
        android:name=".receivers.ScanResultsReceiver"
        android:enabled="false" >
        <intent-filter>
            <action android:name="android.net.wifi.SCAN_RESULTS" />
        </intent-filter>
    </receiver>
</pre>

These receivers are exported - right ? If I put `exported="false"` would they still be able to work ?

Thanks

--
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment