Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-14 Thread William Ferguson
OK, now that we've established that I have zero choice but to construct my own chooser Intent, what have I missed in the code below? NB this seems so fragile. I feel like I'm having to make too many assumptions how how the Android framework works. /** * Creates a Chooser Intent

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread b0b
On Sunday, 13 January 2013 07:52:57 UTC+1, William Ferguson wrote: Thanks Joman, exactly what I was after. @Kristopher the use case is simple: I want to offer clients the ability to share using the standard Android mechanism and I want to provide a sharing end point myself. But for

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Mark Murphy
Please do not do this. It will not have the desired effect: it will show up in the chooser for all apps. And, if the user tries tapping on it from another app, that app crashes. The only solution for the OP's original requirement is to roll a custom chooser from scratch. On Sun, Jan 13, 2013 at

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Kristopher Micinski
This still doesn't work, as mark points out. You have to instead create your own chooser. Kris On Jan 13, 2013 12:54 AM, William Ferguson william.fergu...@xandar.com.au wrote: Thanks Joman, exactly what I was after. @Kristopher the use case is simple: I want to offer clients the ability to

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread William Ferguson
@Mark @Kristopher really? the doco for android:exported seems to indicate that setting it to false will produce the precise behaviour I am looking for. http://developer.android.com/guide/topics/manifest/activity-element.html#exported And testing on a JellyBean device indicates that it is

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Kristopher Micinski
Hm, I believe I'd had problems with that in a previous Android build, so I'm not certain, and I'd have to look at the chooser implementation across versions again to see. I still sort of contend that this doesn't make sense: if your use case is for a SEND intent that doesn't fit with anyone

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Mark Murphy
On Sun, Jan 13, 2013 at 4:39 PM, William Ferguson william.fergu...@xandar.com.au wrote: @Mark @Kristopher really? the doco for android:exported seems to indicate that setting it to false will produce the precise behaviour I am looking for.

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread William Ferguson
If it's an Android version specific limitation of chooser behaviour then I'm all ears, and I'll definitely go back and test on some old versions now. but there is nothing in the doco to suggest that. As stated before, my use case is that I want to share text/plain and have all relevant

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Kostya Vasilyev
2013/1/14 William Ferguson william.fergu...@xandar.com.au: If it's an Android version specific limitation of chooser behaviour then I'm all ears, and I'll definitely go back and test on some old versions now. but there is nothing in the doco to suggest that. I recently had a Play crash report

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread William Ferguson
Thanks Mark. I have commented on that issue. FWIW I think Dianne is wrong on that one. A non-exported Activity with an intent filter is not poor coding, it's use case that wasn't considered by the original Intent#createChooser implementation. Looks like I have little choice but to implement a

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Mark Murphy
On Sun, Jan 13, 2013 at 5:26 PM, William Ferguson william.fergu...@xandar.com.au wrote: Thanks Mark. I have commented on that issue. FWIW I think Dianne is wrong on that one. A non-exported Activity with an intent filter is not poor coding, it's use case that wasn't considered by the original

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-13 Thread Kristopher Micinski
On Sun, Jan 13, 2013 at 4:26 PM, William Ferguson william.fergu...@xandar.com.au wrote: Thanks Mark. I have commented on that issue. FWIW I think Dianne is wrong on that one. A non-exported Activity with an intent filter is not poor coding, it's use case that wasn't considered by the original

[android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-12 Thread William Ferguson
I have an Activity that responds to the ACTION_SEND Intent. Is there any way for me to be able to specify the IntentFilter such that the Activity is only displayed by the IntentChooser when it has been called from within my app? Ie I want the SendIntentResponderActivity displayed as a viable

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-12 Thread Kristopher Micinski
That seems sort of silly, if I'm understanding you correctly: you usually don't launch a chooser based intent just to talk to your own app again, unless it's to possibly choose another app. You might look at a signature based idea (meaning other people can't respond to it, for security), but

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-12 Thread Joman Chu
Does android:exported=false do what you want? See http://developer.android.com/guide/topics/manifest/activity-element.html#exported On Sun, Jan 13, 2013 at 12:38 AM, William Ferguson william.fergu...@xandar.com.au wrote: I have an Activity that responds to the ACTION_SEND Intent. Is there any

Re: [android-developers] How to specify an IntentFilter that only activates when the Intent comes from within my own app?

2013-01-12 Thread William Ferguson
Thanks Joman, exactly what I was after. @Kristopher the use case is simple: I want to offer clients the ability to share using the standard Android mechanism and I want to provide a sharing end point myself. But for commercial reasons my end point is only appropriate if the Intent comes from