我试图从onStart启动一个浮动活动,以便在初始活动开始时从用户权限中检索一些信息。我有以下几点:在onStart中启动活动的问题
@Override
public void onStart(){
super.onStart();
callProfileDialog();
}
而且callProfileDialog()
就是:
private void callProfileDialog(){
Intent i = new Intent(this, com.utility.ProfileDialog.class);
startActivityForResult(i, PROFDIALOG);
}
ProfileDialog.class
返回从一个输入框的字符串。如果返回的结果是RESULT_CANCELED
,那么我重新开始活动。
我遇到的问题是,当程序启动时,屏幕只是黑色。如果我点击返回按钮RESULT_CANCELED
返回,那么最初的活动显示以及浮动活动(因为它得到RESULT_CANCELED
时它自己召回)。为什么我无法通过从onStart()调用ProfileDialog.class
来获得活动显示?当我在onCreate()的末尾调用它时,我得到了相同的结果,这是我切换到使用onStart()的方式。谢谢您的帮助。
编辑:我也曾尝试以下操作:
@Override
public void onWindowFocusChanged(boolean hasFocus){
if(hasFocus)
callProfileDialog();
}
但是,这也不行。一旦我点击后退按钮,一切正常,但没有这样做,它全部是黑色的。
第一个建议有和我目前一样的问题。第二个建议虽然不仅仅是黑色,但一旦我点击后退按钮,它也不断启动浮动活动。 – Fizz 2010-04-14 20:13:51