【问题标题】:The activity must be exported or contain an intent-filter error必须导出活动或包含意图过滤器错误
【发布时间】:2019-08-16 20:25:38
【问题描述】:

当我尝试运行代码时,我不断收到此错误“必须导出活动或包含意图过滤器”。

我已将绿色运行按钮旁边的小下拉菜单设置为“应用程序”,并且我还在清单中的活动中放置了一个意图过滤器。但这无济于事。希望有人可以帮助我。

下面的代码是我的清单文件。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.brian.project">



<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/AppTheme">
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".LoginSignupActivity.LoginActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait">
    </activity>
    <activity android:name=".HomeActivity"></activity>
    <activity android:name=".LoginSignupActivity.SignupActivity"></activity>
    <!--<activity android:name="WeightActivity"></activity>-->

</application>

</manifest>

我的 MainActivity 代码:

package com.example.brian.project;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.brian.project.LoginSignupActivity.LoginActivity;
import com.example.brian.project.LoginSignupActivity.SignupActivity;

public class MainActivity extends AppCompatActivity {

    Button Login, Create_Account;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button Login=(Button) findViewById(R.id.btn_login);
        Button Create_Account=(Button) findViewById(R.id.btn_create_account);

        Login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                openLoginActivity();
            }
        });

        Create_Account.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
                openSignupActivity();
            }
        });
    }

    public void openLoginActivity() {
        Intent intent = new Intent(MainActivity.this, LoginActivity.class);
        startActivity(intent);
    }

    public void openSignupActivity() {
        Intent intent = new Intent(MainActivity.this, SignupActivity.class);
        startActivity(intent);
    }

}

【问题讨论】:

  • 请确认 MainActivity 文件在原始文件夹/路径中。
  • 是的,它在原始文件夹/路径中
  • 我看了那个答案,但似乎没有帮助。我已经按照它的建议对我的代码做了什么,但我仍然收到错误

标签: android android-intent


【解决方案1】:

尝试在&lt;activity&gt;标签中使用android:exported="true"

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

【讨论】:

  • 我刚试过这个,但我仍然遇到同样的错误
  • 能否编辑您的帖子并显示完整的清单代码?
  • 这段代码是完整的manifest文件还是标签里面的内容?
  • 可能是 Android Studio 的错误。您可以尝试点击 File > Invalidate Caches / Restart 然后,Invalidate and Restart
  • 这似乎不是一个明显的问题。您是否尝试过像我上面所说的那样使缓存无效?
猜你喜欢
  • 2017-03-23
  • 1970-01-01
  • 2021-01-26
  • 2021-10-07
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多