我有一个奇怪的问题。我试图在显示对话框后启动一个意图,但是当我尝试使用我的代码时,它只是启动了意图而没有显示对话框。
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();
}
}
此外,在触发意图后,我也希望MainActivity 完成。我该怎么做呢?
注意:我还尝试从对话框中调用意图 (在 onClick 方法中确定,这解决了我的一半问题,但是如何从那里完成MainActivity页面?
编辑:还有一件事我忘了提及,我正在单独的类中定义对话框。
答案 0 :(得分:2)
我猜finish()
应该有效,因为你在Activity实例中,我不知道为什么它不在你的情况下
或强>
试试这个
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
alertDialog.dismiss();
YourActivity.this.finish();
}
});
答案 1 :(得分:0)
尝试按照说明中的描述进行操作。只是做一些改变 -
PasswordSetMessageDialog set = new PasswordSetMessageDialog(YourActivity.this);
然后,在OK的click方法中,在PasswordSetMessageDialog类中发送的活动实例的帮助下完成活动。
答案 2 :(得分:0)
要完成活动,请使用以下代码:
MainActivity.this.finish();
然后您可以在对话框的onClick侦听器中使用它
希望这有帮助