我有一个奇怪的问题。我正在尝试在显示对话框后启动一个意图,但是当我尝试使用我的代码时,它只是在没有显示对话框的情况下启动了意图。
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侦听器中使用它
希望这有帮助