android - 如何查找应用程序主要活动的名称?

时间:2011-05-11 13:06:04

标签: android android-activity

例如,我想在代码/命令行中启动Gmail,但我不知道它的主要活动名称。

am start -n com.google.android.gm/.XXXXX

它可以通过反编译apk来实现,但这很难。

5 个答案:

答案 0 :(得分:15)

这可以在应用程序的清单中找到。

主要活动是activityintent-filter的名称为android.intent.action.MAIN

答案 1 :(得分:7)

您可以将手机插入计算机并查看DDMS日志,在那里打印应用程序启动,例如:

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

所以,com.google.android.gm/.ConversationListActivity,似乎是正确的选择,至少,这就是图标似乎启动的原因。

答案 2 :(得分:5)

Step1:开始" adb logcat"在命令提示符下。

第2步:打开应用程序(在模拟器或真实设备中) enter image description here

答案 3 :(得分:4)

您不需要知道它的名称,而应该使用implicit intent 并指定动作以及类型和一些额外内容,例如

            final Intent intent = new Intent();
            intent.setType("message/rfc822");
            intent.setAction(Intent.ACTION_SEND);
            intent.putExtra(Intent.EXTRA_SUBJECT, "Some subject");

系统将搜索可用于运行此意图的组件。

答案 4 :(得分:3)

转到Android软件包n打开Android Manifest文件n查看此活动元素

<activity>
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
</activity>