运行注册时出错:必须导出活动或包含intent-filter

时间:2017-07-11 23:44:51

标签: android

我是android studio的新手,我在这个问题上坚持了很长时间。我读了类似问题的所有答案,但是没有一个能帮助我。

这是我的清单文件

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

    <uses-permission android:name="android.permission.INTERNET" />

    <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=".dashboard" />
        <activity android:name=".Forgotpassword" />
        <activity android:name=".Signup"
            />
        <activity android:name=".Menu"></activity>
    </application>

</manifest>

这是我的主要活动的java文件

package com.mobility.mobilityindia;

import android.app.Activity;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button btnLogin;
    EditText input_email,input_password;
    TextView btnSignup,btnForgotPass;

    RelativeLayout activity_main;
    private FirebaseAuth auth;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //view
        btnLogin=(Button)findViewById(R.id.login_button);
        input_email=(EditText)findViewById(R.id.login_email);
        input_password=(EditText)findViewById(R.id.login_password);
        btnSignup=(TextView)findViewById(R.id.sign_up);
        btnForgotPass=(TextView)findViewById(R.id.forgot_password);
        activity_main=(RelativeLayout)findViewById(R.id.activity_main);

        btnSignup.setOnClickListener(this);
        btnForgotPass.setOnClickListener(this);
        btnLogin.setOnClickListener(this);

        //Init Firebase Auth
        auth=FirebaseAuth.getInstance();

        //Check already session, if ok--->dashboard

        if(auth.getCurrentUser() !=null)
            startActivity(new Intent(MainActivity.this,dashboard.class));
    }

    @Override
    public void onClick(View view) {

        if(view.getId()==R.id.forgot_password)
        {
            startActivity(new Intent (MainActivity.this,Forgotpassword.class));
            finish();
        }
        else  if(view.getId()==R.id.sign_up)
        {
            startActivity(new Intent (MainActivity.this,Signup.class));
            finish();
        }
        else  if(view.getId()==R.id.login_button)
        {
            loginUser(input_email.getText().toString(),input_password.getText().toString());
        }
    }

    private void loginUser(String email,final String password) {
        auth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {

                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (!task.isSuccessful())
                        {
                            if (password.length() < 6)
                            {
                                Snackbar snackbar = Snackbar.make(activity_main, "Password should be more than 6 characters", Snackbar.LENGTH_SHORT);
                                snackbar.show();
                            }
                        }
                        else
                        {
                            startActivity(new Intent(MainActivity.this, dashboard.class));
                        }
                    }

                });

    }
}

这是我的注册活动的java文件

package com.mobility.mobilityindia;

import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;

public class Signup extends AppCompatActivity implements View.OnClickListener {

    Button btnSignup;
    TextView btnLogin,btnforgotpass;
    EditText input_email,input_pass;
    RelativeLayout activity_signup;

    private FirebaseAuth auth;
    Snackbar snackbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signup);

        //view
        btnSignup=(Button)findViewById(R.id.register_button);
        btnLogin=(TextView)findViewById(R.id.signup_login);
        btnforgotpass=(TextView)findViewById(R.id.signup_forgot_password);
        input_email=(EditText)findViewById(R.id.signup_email);
        input_pass=(EditText)findViewById(R.id.signup_password);
        activity_signup=(RelativeLayout)findViewById(R.id.Signup);

        btnSignup.setOnClickListener(this);
        btnLogin.setOnClickListener(this);
        btnforgotpass.setOnClickListener(this);

        //init Firebase
        auth= FirebaseAuth.getInstance();
    }
    @Override
    public void onClick(View view){
        if(view.getId()==R.id.signup_login)
        {
            startActivity(new Intent(Signup.this,MainActivity.class));
        }
        else if(view.getId()==R.id.signup_forgot_password){
            startActivity(new Intent(Signup.this,Forgotpassword.class));
            finish();
        }
        else if(view.getId()==R.id.register_button) {
            SignUpUser(input_email.getText().toString(),input_pass.getText().toString());
        }
    }
    private void SignUpUser(String email,String password) {
        auth.createUserWithEmailAndPassword(email,password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if(!task.isSuccessful())
                        {
                            snackbar= Snackbar.make(activity_signup,"Error: "+task.getException(),snackbar.LENGTH_SHORT);
                            snackbar.show();
                        }
                        else
                        {
                            snackbar= Snackbar.make(activity_signup,"Register success :",snackbar.LENGTH_SHORT);
                            snackbar.show();
                        }
                    }
                });
    }


}

When I try to register,the register the button is not functioning and nothing is added to the database

When I have manually added the details in the database and trying to sign-in,the sign-in button doesn't work

当我单独运行注册页面时,我收到必须导出活动或包含目标文件夹的错误

logcat的

07-12 10:59:59.382 32757-32757/? I/zygote: Not late-enabling -Xcheck:jni (already on)
07-12 10:59:59.467 32757-32757/? W/zygote: Unexpected CPU variant for X86 using defaults: x86
07-12 10:59:59.735 32757-302/? I/zygote: Background concurrent copying GC freed 11270(3MB) AllocSpace objects, 0(0B) LOS objects, 83% free, 297KB/1833KB, paused 6.170ms total 149.367ms
07-12 11:00:01.469 32757-329/com.mobility.mobilityindia W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
07-12 11:00:01.486 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 5.700ms
07-12 11:00:01.496 32757-332/com.mobility.mobilityindia I/DynamiteModule: Considering local module com.google.android.gms.flags:2 and remote module com.google.android.gms.flags:0
07-12 11:00:01.496 32757-332/com.mobility.mobilityindia I/DynamiteModule: Selected local version of com.google.android.gms.flags
07-12 11:00:01.577 32757-332/com.mobility.mobilityindia W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
07-12 11:00:01.594 32757-32757/com.mobility.mobilityindia I/FA: App measurement is starting up, version: 11020
07-12 11:00:01.595 32757-32757/com.mobility.mobilityindia I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
07-12 11:00:01.630 32757-332/com.mobility.mobilityindia W/zygote: Skipping duplicate class check due to unrecognized classloader
07-12 11:00:01.657 32757-329/com.mobility.mobilityindia W/GooglePlayServicesUtil: Google Play services out of date.  Requires 11020000 but found 10930470
07-12 11:00:01.660 32757-332/com.mobility.mobilityindia I/DynamiteModule: Considering local module com.google.android.gms.crash:0 and remote module com.google.android.gms.crash:4
07-12 11:00:01.660 32757-332/com.mobility.mobilityindia I/DynamiteModule: Selected remote version of com.google.android.gms.crash, version >= 4
07-12 11:00:01.730 32757-332/com.mobility.mobilityindia W/zygote: Skipping duplicate class check due to unrecognized classloader
07-12 11:00:01.764 32757-32757/com.mobility.mobilityindia V/FA: Collection enabled
07-12 11:00:01.764 32757-32757/com.mobility.mobilityindia V/FA: App package, google app id: com.mobility.mobilityindia, 1:308094300316:android:8bb92942b462bf39
07-12 11:00:01.780 32757-332/com.mobility.mobilityindia I/FirebaseCrashApiImpl: FirebaseCrashApiImpl created by ClassLoader p[DexPathList[[zip file "/data/user_de/0/com.google.android.gms/app_chimera/m/00000004/DynamiteModulesC_GmsCore_prodmnc_alldpi_release.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/00000004/n/x86, /system/lib, /system/vendor/lib]]]
07-12 11:00:01.781 32757-32757/com.mobility.mobilityindia I/FA: To enable faster debug mode event logging run:
                                                                  adb shell setprop debug.firebase.analytics.app com.mobility.mobilityindia
07-12 11:00:01.781 32757-32757/com.mobility.mobilityindia D/FA: Debug-level message logging enabled
07-12 11:00:01.794 32757-332/com.mobility.mobilityindia I/FirebaseCrash: FirebaseCrash reporting loaded - com.google.android.gms.internal.ml@dfbe7bc
07-12 11:00:01.922 32757-334/com.mobility.mobilityindia I/DynamiteModule: Considering local module com.google.android.gms.flags:2 and remote module com.google.android.gms.flags:0
07-12 11:00:01.922 32757-334/com.mobility.mobilityindia I/DynamiteModule: Selected local version of com.google.android.gms.flags
07-12 11:00:01.966 32757-334/com.mobility.mobilityindia W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
07-12 11:00:02.006 32757-32757/com.mobility.mobilityindia V/FA: Cancelling job. JobID: -631849166
07-12 11:00:02.053 32757-334/com.mobility.mobilityindia E/FirebaseCrash: Failed to initialize crash reporting: Can't create handler inside thread that has not called Looper.prepare()
07-12 11:00:02.060 32757-335/com.mobility.mobilityindia E/FirebaseCrash: Failed waiting for crash api to load.
                                                                         java.lang.InterruptedException
                                                                             at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063)
                                                                             at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1352)
                                                                             at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
                                                                             at com.google.firebase.crash.FirebaseCrash.zzFc(Unknown Source:6)
                                                                             at com.google.firebase.crash.FirebaseCrash.zza(Unknown Source:0)
                                                                             at com.google.firebase.crash.zza.run(Unknown Source:2)
                                                                             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                             at java.lang.Thread.run(Thread.java:764)
07-12 11:00:02.096 32757-32757/com.mobility.mobilityindia V/FA: Registered activity lifecycle callback
07-12 11:00:02.103 32757-32757/com.mobility.mobilityindia I/FirebaseInitProvider: FirebaseApp initialization successful
07-12 11:00:02.113 32757-32757/com.mobility.mobilityindia I/InstantRun: starting instant run server: is main process
07-12 11:00:02.115 32757-32757/com.mobility.mobilityindia V/InstantRun: Starting server socket listening for package com.mobility.mobilityindia on android.net.LocalSocketAddress@27dc3a8
07-12 11:00:02.117 32757-32757/com.mobility.mobilityindia V/InstantRun: Started server for package com.mobility.mobilityindia
07-12 11:00:02.252 32757-349/com.mobility.mobilityindia V/FA: Using measurement service
07-12 11:00:02.254 32757-349/com.mobility.mobilityindia V/FA: Connecting to remote service
07-12 11:00:02.369 32757-349/com.mobility.mobilityindia W/GooglePlayServicesUtil: Google Play services out of date.  Requires 11020000 but found 10930470
07-12 11:00:02.371 32757-349/com.mobility.mobilityindia V/FA: Using measurement service
07-12 11:00:02.372 32757-349/com.mobility.mobilityindia V/FA: Connection attempt already in progress
07-12 11:00:02.584 32757-302/com.mobility.mobilityindia I/zygote: Background concurrent copying GC freed 6204(948KB) AllocSpace objects, 7(140KB) LOS objects, 69% free, 669KB/2MB, paused 6.107ms total 68.988ms
07-12 11:00:02.661 32757-32757/com.mobility.mobilityindia V/FA: onActivityCreated
07-12 11:00:03.307 32757-302/com.mobility.mobilityindia I/zygote: NativeAllocBackground concurrent copying GC freed 911(358KB) AllocSpace objects, 0(0B) LOS objects, 64% free, 858KB/2MB, paused 6.302ms total 52.812ms
07-12 11:00:03.424 32757-32766/com.mobility.mobilityindia I/zygote: Waiting for a blocking GC ObjectsAllocated
07-12 11:00:03.485 32757-302/com.mobility.mobilityindia I/zygote: NativeAllocBackground concurrent copying GC freed 308(80KB) AllocSpace objects, 0(0B) LOS objects, 62% free, 908KB/2MB, paused 8.275ms total 114.361ms
07-12 11:00:03.486 32757-32766/com.mobility.mobilityindia I/zygote: WaitForGcToComplete blocked for 62.562ms for cause ObjectsAllocated
07-12 11:00:03.494 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 6.195ms
07-12 11:00:03.585 32757-32757/com.mobility.mobilityindia I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 11:00:03.599 32757-32757/com.mobility.mobilityindia I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 11:00:03.678 32757-349/com.mobility.mobilityindia V/FA: Using measurement service
07-12 11:00:03.681 32757-349/com.mobility.mobilityindia V/FA: Connection attempt already in progress
07-12 11:00:03.811 32757-349/com.mobility.mobilityindia I/DynamiteModule: Considering local module com.google.android.gms.tagmanager:11 and remote module com.google.android.gms.tagmanager:9
07-12 11:00:03.811 32757-349/com.mobility.mobilityindia I/DynamiteModule: Selected local version of com.google.android.gms.tagmanager
07-12 11:00:03.863 32757-375/com.mobility.mobilityindia D/OpenGLRenderer: HWUI GL Pipeline
07-12 11:00:03.896 32757-32757/com.mobility.mobilityindia W/FA: Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
07-12 11:00:03.924 32757-349/com.mobility.mobilityindia W/GoogleTagManager: No container asset found in /assets/containers. Checking top level /assets directory for container assets.
07-12 11:00:03.933 32757-349/com.mobility.mobilityindia W/GoogleTagManager: Tag Manager's event handler WILL NOT be installed (no container loaded)
07-12 11:00:03.934 32757-349/com.mobility.mobilityindia I/GoogleTagManager: Tag Manager initilization took 34ms
07-12 11:00:03.935 32757-349/com.mobility.mobilityindia D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_origin(_o)=auto, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=-2883455159271340235}]
07-12 11:00:04.127 32757-349/com.mobility.mobilityindia V/FA: Using measurement service
07-12 11:00:04.127 32757-349/com.mobility.mobilityindia V/FA: Connecting to remote service
07-12 11:00:04.203 32757-375/com.mobility.mobilityindia I/OpenGLRenderer: Initialized EGL, version 1.4
07-12 11:00:04.203 32757-375/com.mobility.mobilityindia D/OpenGLRenderer: Swap behavior 1
07-12 11:00:04.204 32757-375/com.mobility.mobilityindia W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
07-12 11:00:04.204 32757-375/com.mobility.mobilityindia D/OpenGLRenderer: Swap behavior 0
07-12 11:00:04.237 32757-349/com.mobility.mobilityindia W/GooglePlayServicesUtil: Google Play services out of date.  Requires 11020000 but found 10930470
07-12 11:00:04.239 32757-349/com.mobility.mobilityindia V/FA: Activity resumed, time: 4080269
07-12 11:00:04.267 32757-349/com.mobility.mobilityindia V/FA: Processing queued up service tasks: 4
07-12 11:00:04.267 32757-349/com.mobility.mobilityindia E/FA: Discarding data. Failed to send app launch
07-12 11:00:04.267 32757-349/com.mobility.mobilityindia E/FA: Failed to get app instance id
07-12 11:00:04.268 32757-349/com.mobility.mobilityindia E/FA: Failed to send current screen to service
07-12 11:00:04.268 32757-349/com.mobility.mobilityindia E/FA: Discarding data. Failed to send event to service
07-12 11:00:04.683 32757-375/com.mobility.mobilityindia D/EGL_emulation: eglCreateContext: 0xa3ddf6c0: maj 2 min 0 rcv 2
07-12 11:00:04.706 32757-375/com.mobility.mobilityindia D/EGL_emulation: eglMakeCurrent: 0xa3ddf6c0: ver 2 0 (tinfo 0x94938720)
07-12 11:00:04.996 32757-32757/com.mobility.mobilityindia I/Choreographer: Skipped 63 frames!  The application may be doing too much work on its main thread.
07-12 11:00:05.352 32757-375/com.mobility.mobilityindia W/android.hardware.graphics.mapper@2.0::Mapper: getService: found null hwbinder interface
07-12 11:00:05.354 32757-375/com.mobility.mobilityindia I/vndksupport: sphal namespace is not configured for this process. Loading /system/lib/hw/gralloc.ranchu.so from the current namespace instead.
07-12 11:00:05.415 32757-375/com.mobility.mobilityindia D/EGL_emulation: eglMakeCurrent: 0xa3ddf6c0: ver 2 0 (tinfo 0x94938720)
07-12 11:00:05.459 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 22.660ms
07-12 11:00:06.603 32757-32757/com.mobility.mobilityindia W/FA: Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
07-12 11:00:06.604 32757-32757/com.mobility.mobilityindia I/Choreographer: Skipped 95 frames!  The application may be doing too much work on its main thread.
07-12 11:00:06.722 32757-349/com.mobility.mobilityindia V/FA: Processing queued up service tasks: 0
07-12 11:00:07.035 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 70.350ms
07-12 11:00:14.270 32757-349/com.mobility.mobilityindia V/FA: Session started, time: 4090862
07-12 11:00:14.417 32757-349/com.mobility.mobilityindia D/FA: Logging event (FE): session_start(_s), Bundle[{firebase_event_origin(_o)=auto, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=-2883455159271340235}]
07-12 11:00:14.503 32757-349/com.mobility.mobilityindia V/FA: Using measurement service
07-12 11:00:14.503 32757-349/com.mobility.mobilityindia V/FA: Connecting to remote service
07-12 11:00:14.515 32757-349/com.mobility.mobilityindia W/GooglePlayServicesUtil: Google Play services out of date.  Requires 11020000 but found 10930470
07-12 11:00:14.516 32757-32757/com.mobility.mobilityindia W/FA: Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
07-12 11:00:14.523 32757-349/com.mobility.mobilityindia V/FA: Processing queued up service tasks: 1
07-12 11:00:14.524 32757-349/com.mobility.mobilityindia E/FA: Discarding data. Failed to send event to service
07-12 11:00:23.832 32757-32764/com.mobility.mobilityindia I/zygote: Do partial code cache collection, code=27KB, data=30KB
07-12 11:00:23.833 32757-32764/com.mobility.mobilityindia I/zygote: After code cache collection, code=27KB, data=30KB
07-12 11:00:23.833 32757-32764/com.mobility.mobilityindia I/zygote: Increasing code cache capacity to 128KB
07-12 11:00:28.473 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 5.207ms
07-12 11:00:29.992 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 9.147ms
07-12 11:00:32.512 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 8.891ms
07-12 11:00:33.517 32757-32766/com.mobility.mobilityindia I/zygote: WaitForGcToComplete blocked for 29.572ms for cause ObjectsAllocated
07-12 11:00:33.557 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 39.021ms
07-12 11:00:38.023 32757-32766/com.mobility.mobilityindia W/zygote: Suspending all threads took: 6.484ms
07-12 11:00:44.248 32757-32764/com.mobility.mobilityindia I/zygote: Do partial code cache collection, code=45KB, data=46KB
07-12 11:00:44.251 32757-32764/com.mobility.mobilityindia I/zygote: After code cache collection, code=45KB, data=46KB
07-12 11:00:44.251 32757-32764/com.mobility.mobilityindia I/zygote: Increasing code cache capacity to 256KB

2 个答案:

答案 0 :(得分:0)

如果您尝试单独运行注册活动,请在清单中添加一个属性 -

<activity android:name=".Signup"
android:exported="true"/>

答案 1 :(得分:0)

尝试删除项目根目录中的编辑器元数据目录.idea /并重新启动android studio。