For example, I want to start Gmail in code/command line, but I don't know its main activity name.
am start -n com.google.android.gm/.XXXXX
It's available through decompiling the apk, but it's difficult.
For example, I want to start Gmail in code/command line, but I don't know its main activity name.
am start -n com.google.android.gm/.XXXXX
It's available through decompiling the apk, but it's difficult.
This can be found in the application's manifest.
The main activity is the activity
with the intent-filter
whose name is android.intent.action.MAIN
.
You can plug your phone into the computer and look at the DDMS log, application launches are printed there, e.g:
05-11 09:19:15.725: INFO/ActivityManager(96): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x2000000 cmp=com.google.android.gm/.ConversationListActivity bnds=[125,410][235,540] } from pid 2457
So, com.google.android.gm/.ConversationListActivity
, would seem like the right choice, at least, that's what the icon seems to launch.
Step1: Start "adb logcat" in command prompt.
Step2: Open the app (either in emulator or real device)
Just go to Android package n open Android Manifest File n check out this activity element
<activity>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</activity>
You don't need to know it's name, instead you should use implicit intent and specify action along with type and some extras, for example
final Intent intent = new Intent();
intent.setType("message/rfc822");
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_SUBJECT, "Some subject");
System will search for components available to run this intent.