Ok so I can get a list of names which will match my intent with the
following:
// Get apps which can handle text/plain (or at least claim to).
Intent sendIntent = new Intent(Intent.ACTION_SEND, null);
sendIntent.addCategory(Intent.CATEGORY_DEFAULT);
sendIntent.setType("text/plain");
PackageManager pm = getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities
(sendIntent, 0);
and this will give me (on my phone):
com.android.mms.ui.ComposeMessageActivity
com.twidroid.SendTweet
com.facebook.katana.ShareLinkActivity
com.google.android.gm.ComposeActivityGmail
so yeah I can see facebook is handling it with ShareLinkActivity (and
I ain't sharing a link). So knowing this, I suppose I could build my
own picker dialog, and specifically modify the intent for facebook by
supplying only a url, instead of real text.
How could I find the cool little icons that each app uses to go with
my own picker dialog? I don't like doing this, I wish they did not
implement facebook like this..
Thanks
On Dec 16, 6:24 pm, "Mark Murphy" <[email protected]> wrote:
> > Trying to a share a bit of text using ACTION_SEND. Facebook will popup
> > as an app capable of handling this, but fails to handle the intent
> > correctly. Using this:
>
> > Intent intent = new Intent(Intent.ACTION_SEND);
> > intent .setType("text/plain");
> > intent .putExtra(android.content.Intent.EXTRA_TEXT, "This is a
> > test.");
> > startActivity(Intent.createChooser(intent, "testing..."));
>
> > I read that the problem is that while Facebook has registered as
> > supporting text/plain, it can only actually deal with urls.
>
> > If this is really a problem, is there a way I can somehow explicitly
> > remove Facebook from the list of applications that can handle my
> > ACTION_SEND request? Or somehow modify my intent to specifically deal
> > with Facebook?
>
> I don't know about the latter. If you are willing to roll your own
> chooser, the former should be possible. The underlying PackageManager
> methods that support the chooser, such as queryIntentActivities(), would
> allow you to find miscreants and filter them out of your list. You'd need
> to present that list to the user, though.
>
> --
> Mark Murphy (a Commons Guy)http://commonsware.com
> Android App Developer Books:http://commonsware.com/books.html
--
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