Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未发送到主活动的意图_Android_Android Intent - Fatal编程技术网

Android 未发送到主活动的意图

Android 未发送到主活动的意图,android,android-intent,Android,Android Intent,我有登录活动,这是主要活动。 第二个是寄存器。 我正在尝试在注册过程后将电子邮件从注册活动发送回登录活动,但我无法从意图中获取值。 我注意到主活动的manifest中有一些过滤器,但不确定它是否会导致这样的问题 注册活动: Intent myIntent = new Intent(Register.this, LoginPage.class); myIntent.putExtra("registerEmail", mail); Register.this.startActivity(myInte

我有登录活动,这是主要活动。 第二个是寄存器。 我正在尝试在注册过程后将电子邮件从注册活动发送回登录活动,但我无法从意图中获取值。 我注意到主活动的manifest中有一些过滤器,但不确定它是否会导致这样的问题

注册活动:

Intent myIntent = new Intent(Register.this, LoginPage.class);
myIntent.putExtra("registerEmail", mail);
Register.this.startActivity(myIntent);
@Override
    protected void onNewIntent(Intent intent) {
        String value = intent.getStringExtra("registerEmail");
        super.onNewIntent(intent);
    }
主要活动:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login_page);
    Intent intent = getIntent();
    String value = intent.getStringExtra("registerEmail");
    if (value!=null)
    {
       ...
    }
}
舱单:

    <activity
        android:name=".LoginPage"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

当我从Register返回loginPage时,该值始终为null,并且我确信我确实在Register活动中将内容发送到了intent


提前感谢。

当您返回登录活动时,您可能应该在onResume上阅读值registerEmail

当您返回登录活动时,您可能应该在onResume上阅读值registerEmail

您在清单文件中看到的意图过滤器是为了向Android框架指示应该执行哪个活动首次启动应用程序时显示。对于常见的内部操作,例如在自己的应用程序中启动新活动,不需要使用意图过滤器


否则,您的代码看起来正常。我们是否可以从每个类中看到更多的代码(例如,意图从何处激发)?

您在清单文件中看到的意图过滤器是为了向Android框架指示首次启动应用程序时应显示哪些活动。对于常见的内部操作,例如在自己的应用程序中启动新活动,不需要使用意图过滤器


否则,您的代码看起来正常。我们是否可以从每个类中看到更多的代码(例如,意图从何处激发)?

当从活动a开始另一个活动(活动B)时,为了将结果返回到活动a,您应该使用

但是,如果主活动是使用
Intent.FLAG\u activity\u SINGLE\u TOP
启动的,则可以在主活动中使用
onNewIntent()
截获该意图:

Intent myIntent = new Intent(Register.this, LoginPage.class);
myIntent.putExtra("registerEmail", mail);
Register.this.startActivity(myIntent);
@Override
    protected void onNewIntent(Intent intent) {
        String value = intent.getStringExtra("registerEmail");
        super.onNewIntent(intent);
    }

当您从活动A开始另一个活动(活动B)时,为了将结果返回给活动A,您应该使用

但是,如果主活动是使用
Intent.FLAG\u activity\u SINGLE\u TOP
启动的,则可以在主活动中使用
onNewIntent()
截获该意图:

Intent myIntent = new Intent(Register.this, LoginPage.class);
myIntent.putExtra("registerEmail", mail);
Register.this.startActivity(myIntent);
@Override
    protected void onNewIntent(Intent intent) {
        String value = intent.getStringExtra("registerEmail");
        super.onNewIntent(intent);
    }

看起来您要使用的意图是注册活动可以识别并从onDestroy方法调用sendResult(意图)。有了这个意图,您可以将所需的数据捆绑到其中,并从LoginActivity override onActivityResult中获取捆绑意图数据。

看起来您将要使用,目的是注册活动可以识别并从onDestroy方法调用sendResult(意图意图)。有了这个意图,您可以将所需的数据捆绑到其中,并从LoginActivity override onActivityResult获取捆绑意图数据。

是的,我检查了邮件,邮件不为空,正如我在帖子中提到的那样。一定还有其他的陷阱。谢谢你清除了过滤器。我检查了邮件,它不是空的,正如我在帖子中提到的。一定还有其他的陷阱。谢谢你清除了过滤器。是的,我考虑过这个问题,但没有看到任何地方设置的标志:/@user3607584你使用startActivityForResult()或onNewIntent()解决问题吗?是的,我考虑过这个问题,但没有看到任何地方设置的标志:/@user3607584你使用startActivityForResult()解决问题吗或Wintent()?