无法在Android库模块中启动活动

jer*_*rry 15 android module android-activity android-studio

在我的Android应用程序项目中,我添加了一个包含名为"SampleDataMenuActivity"的活动的模块.此活动没有什么特别之处 - 它是使用Android Studio中的"新模块" - >"Android库"对话框添加的,并包含Android Studio生成的"Hello World"代码.

该应用的AndroidManifest.xml包括(来自模块):

<activity
    android:name="com.sample.sampledata.SampleDataMenuActivity" >
    <intent-filter>
        <action android:name="android.intent.action.SampleDataMenuActivity" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

在app的build.gradle中:

dependencies {
    (...)
    compile project(':sampledata')
}
Run Code Online (Sandbox Code Playgroud)

在项目的settings.gradle中:

include ':sampledata', ':app'
Run Code Online (Sandbox Code Playgroud)

在我的应用程序的主要活动中,我想使用以下方法导航到模块中的活动:

startActivity(new Intent("com.sample.sampledata.SampleDataMenuActivity"));
Run Code Online (Sandbox Code Playgroud)

该项目构建得很好,但是当我点击应该将我带到模块中的活动的按钮时,它会失败,报告:

android.content.ActivityNoFoundException: No Activity found to handle Intent ( act=com.sample.sampledata.SampleDataMenuActivity )
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

jer*_*rry 8

我发现了错误,也许我应该删除这个问题.但是,由于它被赞成,其他人可能会对这个答案感兴趣:

清单应说明:

<activity
    android:name="com.sample.sampledata.SampleDataMenuActivity" >
    <intent-filter>
        <action android:name="com.sample.sampledata.SampleDataMenuActivity" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

  • 上述答案和问题中的代码看起来很相似。那有什么区别呢? (4认同)