java - 切换到另一个 Activity 时出错,无法找到显式 Activity 类,您是否在 AndroidManifest 中声明了此 Activity

标签 java android android-studio android-intent module

在我的项目中有两个应用程序模块。当我尝试使用 Intent 从一个模块的 Activity 转到另一个模块的 Activity 时,我收到一条错误,指出在 list 中找不到第二个 Activity。但这个Activity是注册在第二个模块的Manifest中的。我已经尝试了类似问题的所有答案,但问题仍然存在

我的 Intent 功能:

public void SendToMetronomeActivity() {
        Intent mMetronomeIntent = new Intent();
        mMetronomeIntent.setClassName("com.infernal93.metronome.activities", "MainMetronomeActivity");
        startActivity(mMetronomeIntent);
    }

第二个模块的 list :

<activity android:name="com.infernal93.metronome.activities.MainMetronomeActivity"
            android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

错误:

E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.infernal93.metronome.activities/MainMetronomeActivity}; have you declared this activity in your AndroidManifest.xml?
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1514)
        at android.app.Activity.startActivityForResult(Activity.java:4028)
        at androidx.fragment.app.j.startActivityForResult(FragmentActivity.java:676)
        at android.app.Activity.startActivityForResult(Activity.java:3989)
        at androidx.fragment.app.j.startActivityForResult(FragmentActivity.java:663)
        at android.app.Activity.startActivity(Activity.java:4312)
        at android.app.Activity.startActivity(Activity.java:4280)
        at com.mib.livepartiture.Live.MainActivity.y(MainActivity.java:1356)

新错误:

E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.infernal93.metronome.activities.MainMetronomeActivity }

最佳答案

像这样声明您的 Activity :

<activity
        android:name=".MainMetronomeActivity"
        android:label="Preferences" >
        <intent-filter>
            <action android:name="com.infernal93.metronome.activities.MainMetronomeActivity />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

并使用它:

Intent i = new Intent("com.infernal93.metronome.activities.MainMetronomeActivity");

关于java - 切换到另一个 Activity 时出错,无法找到显式 Activity 类,您是否在 AndroidManifest 中声明了此 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60989969/

相关文章:

java - 选择并执行案例后重复切换案例

java - 我可以使用什么让用户输入时间并将值从 EditText 转换为整数

android - 如何将数据从android应用程序发送到客户端的数据库?

java - 什么时候将 Activity 传递给另一个类会导致内存泄漏?

安卓调试 : Frame is not available

java - 从android studio中的mysql数据库检索图像

java - 同时调用 2 个 Restful Web 服务。可以用骡子吗?

java - Servlet 过滤器 - 上下文初始化

java - 通过 Tomcat Websocket 将图像缓冲为 JPG 到 HTML 5 Canvas

java - 如何处理android中的致命异常(坏 token 异常)