【问题标题】:Error running 'app': The activity must be exported or contain an intent-filter运行“应用程序”时出错:必须导出活动或包含意图过滤器
【发布时间】:2021-06-06 18:29:34
【问题描述】:

我对 android 开发很陌生,而且我从来没有能够测试特定的活动,因为它不会加载到模拟器上。所以我从这个平台上的其他问题中得到了建议。我去了运行->编辑配置->启动:指定的活动并从启动选项中选择了活动,但这个错误一直出现。

我有 StaffMainActivity 和 MemberMainActivity,它们是相同的,但是成员活动没有错误。

AndroidManifest 代码:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.JimsGym">
        <activity android:name=".MemberLoginActivity" />
        <activity android:name=".LoginOptions" />
        <activity android:name=".MemberMainActivity" />
        <activity android:name=".StaffMainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

StaffMainActivity 代码:

package com.example.jimsgym

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.bottomnavigation.BottomNavigationView

class StaffMainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.staff_main)

        val bottomNavigationView = findViewById<BottomNavigationView>(R.id.bottomNavigationView2)
        val navController = findNavController(R.id.fragment3)

        val appBarConfiguration = AppBarConfiguration(setOf(R.id.staffHome, R.id.availabilityViewer, R.id.members))
        setupActionBarWithNavController(navController, appBarConfiguration)

        bottomNavigationView.setupWithNavController(navController)

    }
}

MemberMainActivity 代码:

package com.example.jimsgym

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.bottomnavigation.BottomNavigationView

class MemberMainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.member_main)

        val bottomNavigationView = findViewById<BottomNavigationView>(R.id.bottomNavigationView)
        val navController = findNavController(R.id.fragment)

        val appBarConfiguration = AppBarConfiguration(setOf(R.id.memberHome, R.id.availabilitySetter, R.id.bmiCalc))
        setupActionBarWithNavController(navController, appBarConfiguration)

        bottomNavigationView.setupWithNavController(navController)
    }
}

【问题讨论】:

    标签: java android android-studio android-activity


    【解决方案1】:

    尝试将 parentActivity 添加到 childActivity:

       <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.JimsGym">
        <activity android:name=".MemberLoginActivity" 
       android:parentActivityName=".StaffMainActivity"/>
    
        <activity android:name=".LoginOptions"
         android:parentActivityName=".StaffMainActivity"/>
        <activity android:name=".MemberMainActivity"
         android:parentActivityName=".StaffMainActivity"/>
    
        <activity android:name=".StaffMainActivity">
      <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category 
           android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
        </activity>
        </application>
    

    【讨论】:

    • 嗨,非常感谢您的快速回复,出现同样的错误,要求导出人员主活动或包含意图过滤器
    猜你喜欢
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 2017-03-23
    • 2019-08-16
    • 2021-10-07
    • 1970-01-01
    • 2014-08-24
    • 2016-10-10
    相关资源
    最近更新 更多