cmd scheme 启动application

10 down vote accepted

To just start the default Launcher Activity:

Intent intent = new Intent("android.intent.category.LAUNCHER"); intent.setClassName("com.facebook.katana", "com.facebook.katana.LoginActivity"); startActivity(intent); 

I did some research, because I wanted to find this out :). I found some ways how to start different activities easily. But I can not guarantee that this will work after upgrades of facebook. I tested it with my current facebook app and it works. At least I tested it with "adb shell" using "am start .....".

Basic is:

String uri = "facebook://facebook.com/inbox"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(intent); 

the facebook.com part is not checked. you can even type: "facebook://gugus.com/inbox" having the same effect.

How to do this in adb.

1. Start adb shell through console: "adb shell" 2. run: "am start -a android.intent.action.VIEW -d facebook://facebook.com/inbox" 

this will start the inbox activity.Here some Uris with examples. I think they speak for themselves what they do.

facebook://facebook.com/inbox facebook://facebook.com/info?user=544410940     (id of the user. "patrick.boos" won't work) facebook://facebook.com/wall facebook://facebook.com/wall?user=544410940   (will only show the info if you have added it as friend. otherwise redirects to another activity) facebook://facebook.com/notifications facebook://facebook.com/photos facebook://facebook.com/album facebook://facebook.com/photo facebook://facebook.com/newsfeed 

there might be additianl parameters you can give to certain of those uris, but I have no time to go through all the code of those activities.

How did I do this? check out apktool.

link | improve this answer
 
It seems like this doesnt work anymore ( and it definitely used to!). facebook://facebook.com/wall?user=1230123 just opens Facebook to the Stream activity, and not the wall of the specified user. –  NPike Jul 9 '11 at 23:33
 
Figured it out, see my post below about the new protocols. –  NPike Jul 10 '11 at 0:17
 
Hello Patrick: Here it opens up the installed facebook app,But i need to open the facebook app with the update status opened along with the image attached to the status , how to achieve this ...?any help is greatly appreciated ... –  Rajesh Rs Jan 19 at 12:20
 
sorry.. i guess those were from a older version. check out @NPike's post. Those might be the ones you need :) –  Patrick Boos Jan 20 at 1:19
1  
What happens if the application isn't installed ? –  Gp2mv3 Jan 26 at 19:43
show 3 more comments
feedback
up vote 7 down vote

Looking at the latest Facebook apk (1.6), it looks like both "facebook://" and "fb://" are registered protocols.

facebook://

facebook:/chat facebook:/events facebook:/friends facebook:/inbox facebook:/info facebook:/newsfeed facebook:/places facebook:/requests facebook:/wall 

fb://

fb://root fb://feed fb://feed/{userID} fb://profile fb://profile/{userID} fb://page/{id} fb://group/{id} fb://place/fw?pid={id} fb://profile/{#user_id}/wall fb://profile/{#user_id}/info fb://profile/{#user_id}/photos fb://profile/{#user_id}/mutualfriends fb://profile/{#user_id}/friends fb://profile/{#user_id}/fans fb://search fb://friends fb://pages fb://messaging fb://messaging/{#user_id} fb://online fb://requests fb://events fb://places fb://birthdays fb://notes fb://places fb://groups fb://notifications fb://albums fb://album/{%s}?owner={#%s} fb://video/?href={href} fb://post/{postid}?owner={uid}¹ 

Sorry if I missed some... only played with a handful of them in the emulator to see if they actually work - a bunch of them will cause the Facebook application to crash.

¹ where postid is in the uid_postid format, e.g 11204705797_10100412949637


你可能感兴趣的:(shell,cmd,Scheme,application,Parameters,Facebook)