2012-01-09 64 views
1

我正在尝试为ICS支持的设备创建一个WiFi小部件。在ICS主屏幕方向被支持,所以在改变方向时,我的小部件变为不活动(挂起)。通过研究,我发现我们需要在改变方向的同时重新分配remoteView。如何找到方向是否已经改变? 如果我扩展活动,那么我有OnConfiguration方法onConfigurationChanged,但在这里我扩展AppWidgetProvider。我如何解决这个问题。在扩展AppWidgetProvider时如何知道屏幕的方向是否已经改变?

在此先感谢。

+1

你并不需要更新的方向变化RemoteViews。 RemoteViews仅仅是应用于窗口小部件布局的一系列命令。当方向改变时,小部件容器重新创建布局(如果使用res/layout-land,可能使用替代布局和值)并将RemoteViews命令应用于其中。试试这个,让你的手机处于横向模式,并将你的小部件添加到主屏幕,如果它没有显示,你的问题就在某处。 – user1139880 2012-03-18 16:39:19

回答

1

创建一个应用程序重写onConfigurationChanged方法:

public class WifiApp extends Application { 
@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    //here u can check the ori 
} 
... 
+0

这会告诉你设备方向是否改变,或者家庭方向是否改变? (因为家庭方向改变可以被禁用,所以它们不一样)。我认为OP需要更高版本。 – user1139880 2012-03-18 16:41:11

相关问题