活动必须导出或包含意图过滤器错误

时间:2019-03-26 12:38:05

标签: android android-intent

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

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

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

<?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);
    }

}

1 个答案:

答案 0 :(得分:0)

尝试在android:exported="true"标签中使用<activity>

<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>