1

我希望我的小部件在手机方向改变时更新。在 android 2.0 之前,您可以注册您的小部件以获取方向更改的意图

<intent-filter>
   <action android:name="android.intent.action.CONFIGURATION_CHANGED" />
</intent-filter>

但是在 2.0 之后你就不能这样做了。Android 开发文档说:

您不能通过清单中声明的​​组件接收此信息,只能通过使用 Context.registerReceiver() 显式注册它。

尝试注册它的好建议,但您不能在 AppWidgetProvider 中注册接收器。

我只想知道手机何时切换方向,以便在垂直空间不足时向用户正确显示一些文本。

4

1 回答 1

0

您可以创建服务并将其注册到 CONFIGURATION_CHANGED 事件,如下所示

public class MyService extends Service {


@Override
public void onCreate() {
    super.onCreate();

    BroadcastReceiver bReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            refreshWidget();  // Code to refresh the widget
        }
    };

    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED);
    registerReceiver(bReceiver, intentFilter);

`}

于 2010-10-06T20:34:48.897 回答