我想创建一个允许在某些条件下更改方向的活动,但不是。更确切地说,我想阻止后台线程繁忙时重新启动活动。
我已将configChanges
属性放在活动清单上,并在方向更改时调用onConfigurationChanged
。但是,我想允许应用在允许时更改方向 。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (orientationChangeAllowed) {
// how do I restart this activity?
} else {
// don't do anything
}
}
答案 0 :(得分:7)
如果允许调用setRequestedOrientation()
,则在不允许的情况下,不执行任何操作。
作为提示:您可以使用onRetainNonConfigurationInstance()
和getLastNonConfigurationInstance()
并返回(包含对象)AsyncThread
。这样,Activity
将在用户想要时改变方向。请注意:您不应泄漏对Context
的引用(可能是对Activity
或Drawable
的引用,...)。