What confuses me really is that I request a permission for _receiving_ a 
particular intent (whose action is boot_completed) - I do not define 
anywhere a permission the _broadcaster_ must request/hold

Thanks

PS : testing vs asking - I found about the 
android.intent.action.QUICKBOOT_POWERON permission while browsing for an 
answer to this question - don't think I need it but added it :)

On Monday, May 6, 2013 12:18:25 AM UTC+3, Piren wrote:
>
> I'm not 100% positive only the system can call it, but i'm pretty sure 
> about it. It depands on the security level of that specific permission and 
> these are not easy to find out (i can't recall any documentation that lists 
> that.. i think it is only available in the source code). It's something 
> that you need to remember, some of these calls can only be made by the 
> system... some of these, were only blocked to be system only in later 
> versions of android (and as usual, there's barely any documentation of 
> these) so sometimes code that worked before, just stops working.
>  
> To test Boot_Completed, just restart your device. that's why i did, that's 
> also how i found our some HTC devices require you to also 
> use "android.intent.action.QUICKBOOT_POWERON" (another tip ;-)) and don't 
> forget you need the app to run at least once before (yet another tip :-D) 
>  
> If you want 0 warnings, tell the compiler to stop showing them :) 
>  
>  
> On Sunday, May 5, 2013 11:07:12 PM UTC+3, Palmer Eldritch wrote:
>
>>
>> On Sunday, May 5, 2013 6:58:39 PM UTC+3, Piren wrote:
>>>
>>> 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><http://developer.android.com/guide/topics/manifest/application-element.html>
>>>>  element's 
>>>> permission<http://developer.android.com/guide/topics/manifest/application-element.html#prmsn>
>>>>  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.
>>>
>>  
>> This makes sense - so since I ask for receive_boot_completed the system 
>> checks my intent filter, sees the intent I filter for is "android.intent.
>> action.BOOT_COMPLETED" and automatically applies this permission to my 
>> receiver ? So this receiver _requires permission_ and no warning is issued
>> That is not so straightforward - does it mean that only the system can 
>> call my receiver ?
>>  
>>
>>>
>>> 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.
>>>
>> I could test in this case yes - but i wanted a general answer on all 
>> similar intent filters and moreover i have no other app to call my receiver 
>> from - it's not a quick test
>>  
>>
>>>
>>> Also, considering this is only a warning, you're giving it way too much 
>>> emphasis.
>>>
>>  
>> I disagree - I do pay attention to warnings - I want none :) 
>>
>>>
>>>
>>> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to