我正在尝试为ICS支持的设备创建一个WiFi小部件。在ICS主屏幕方向被支持,所以在改变方向时,我的小部件变为不活动(挂起)。通过研究,我发现我们需要在改变方向的同时重新分配remoteView。如何找到方向是否已经改变? 如果我扩展活动,那么我有OnConfiguration方法onConfigurationChanged,但在这里我扩展AppWidgetProvider。我如何解决这个问题。在扩展AppWidgetProvider时如何知道屏幕的方向是否已经改变?
在此先感谢。
我正在尝试为ICS支持的设备创建一个WiFi小部件。在ICS主屏幕方向被支持,所以在改变方向时,我的小部件变为不活动(挂起)。通过研究,我发现我们需要在改变方向的同时重新分配remoteView。如何找到方向是否已经改变? 如果我扩展活动,那么我有OnConfiguration方法onConfigurationChanged,但在这里我扩展AppWidgetProvider。我如何解决这个问题。在扩展AppWidgetProvider时如何知道屏幕的方向是否已经改变?
在此先感谢。
创建一个应用程序重写onConfigurationChanged
方法:
public class WifiApp extends Application {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//here u can check the ori
}
...
这会告诉你设备方向是否改变,或者家庭方向是否改变? (因为家庭方向改变可以被禁用,所以它们不一样)。我认为OP需要更高版本。 – user1139880 2012-03-18 16:41:11
你并不需要更新的方向变化RemoteViews。 RemoteViews仅仅是应用于窗口小部件布局的一系列命令。当方向改变时,小部件容器重新创建布局(如果使用res/layout-land,可能使用替代布局和值)并将RemoteViews命令应用于其中。试试这个,让你的手机处于横向模式,并将你的小部件添加到主屏幕,如果它没有显示,你的问题就在某处。 – user1139880 2012-03-18 16:39:19