如何在Android Studio中运行某个活动?

例如,我在一个应用程序中有一些活动,为了看到某个活动的UI或其他,我需要运行一个不是应用程序启动器的活动。

一个愚蠢的做法是在发射器上为这个活动build立一个“门”,并从门外进行活动。 但是,有没有更好的方法来单独运行某个活动?

Solutions Collecting From Web of "如何在Android Studio中运行某个活动?"

好简单。 首先导出您需要运行的活动:

在Manifest的Activity声明中添加android:exported="true" 。 这是因为am是一个外部应用程序,您需要导出活动以允许外部应用程序启动它们。

转到“运行”菜单中的“编辑configuration…”。

在左侧窗格中,select您的应用程序。 在右侧窗格的“常规”选项卡的“启动选项”部分中,有一个“启动:”下拉菜单。

select“指定的活动”,然后input您的活动在Manifest中出现的名称。

您可以根据自己的喜好创build任意数量的configuration,并根据自己的喜好命名它们,例如指明哪个活动正在启动。

正如在这个答案中提到的,通过在应用程序的manifest.xml中为活动提供一个操作名称,

 <activity android:name="Activity3" ... > <intent-filter> <action android:name="com.company.package.FOO"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

然后从任何地方创build以下intent ,以便专门运行此活动:

 startActivity(new Intent("com.company.package.FOO")); 

在您澄清之后,运行应用程序而不是启动程序时,必须首先运行该活动,您可以通过不设置启动程序活动的内容来实现此目的,而是创build一个运行所需活动的意图:

主要活动:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_layout); // remove this line Intent intent = new Intent(ThisActivity.this, WantedActivity.class); intent.putExtra("EXIT", false); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } 

我正在使用Android Studio稳定版本2.1.2,并有一个这样做的快捷方式。 Just open the activity class you wish to run and right click on coding area ,就可以运行和debugging特定活动,如下面的屏幕截图所示。

对于Windows使用快捷键 Ctrl + Shift + F10和Mac使用Ctrl + Shift + R。 我已经在模拟器中testing了它,并且它的工作正常,没有在实际的device.Works中进行testing,只对活动类进行testing,并且不要忘记通过点击将它放在编码区域。 此外,我不知道这个选项是否可用在旧的Android Studio版本低于2.1.2。

在这里输入图像说明

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

在这里输入图像说明 在这里输入图像说明