在对话框调用之前触发意图,并且不显示对话框,并且 MainActivity 不会从前台发送



我有一个奇怪的问题。我正在尝试在显示对话框后启动一个意图,但是当我尝试使用我的代码时,它只是在没有显示对话框的情况下启动了意图。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    first_launch = PreferenceManager
            .getDefaultSharedPreferences(this);
    fm = getSupportFragmentManager();   
    context = getApplicationContext();
    welcome = (TextView)findViewById(R.id.welcome);

    if (/*some condition*/) {

   //my dialog which should show and and user should click before intent is started     
        PasswordSetMessageDialog set = new PasswordSetMessageDialog();
        set.show(fm, DROPBOX_SERVICE);
      //  set.show(fm, DROPBOX_SERVICE);
        SharedPreferences.Editor editor = first_launch.edit();
        editor.putBoolean("FirstTime", true);
        editor.commit();

       //This should start only after the dialog is called and click on OK
        Intent lock = new Intent(getApplicationContext(),service.class);
        getApplicationContext().startService(lock);
       //MainActivity screen should be minimized after intent is called
        finish();

    }
    else
    {
        Intent lock = new Intent(getApplicationContext(),AppLockService.class);
        getApplicationContext().startService(lock);
        finish();
    }

}

另外,我希望在触发意图后,主活动也完成。我该怎么做?

注意:我也尝试从对话框调用意图(在 ok 的 onClick 方法内,它解决了我一半的问题,但是我如何从那里完成 MainActivity 页面?

编辑:我忘了再提一件事,我正在单独的类中定义对话框。

我想finish()应该可以工作,因为你在活动实例中,我不知道为什么它不是在你的情况下

试试这个

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            alertDialog.dismiss();
            YourActivity.this.finish();
        }
    });

尝试按照您在笔记中描述的方式进行操作。只需进行一些更改-

PasswordSetMessageDialog set = new PasswordSetMessageDialog(YourActivity.this);

然后,在 OK 的单击方法中,借助您在 PasswordSetMessageDialog 类中发送的活动实例完成活动。

若要完成活动,请使用以下代码:

MainActivity.this.finish();

然后,您可以在对话框的onClick侦听器中使用它

希望这有帮助

相关内容

最新更新