【问题标题】:Lockscreen widget doesn't work after a while锁屏小部件在一段时间后不起作用
【发布时间】:2014-03-25 17:39:46
【问题描述】:

您好,我正在编写一个锁屏小部件,它是不同的按钮和显示信息的文本,当它添加或“最大化”或“最小化”(全屏或半屏模式解锁时,小部件工作正常) )当手机刚开机时,问题是当手机闲置一段时间然后按钮什么也不做,我读了很多关于它的帖子,但我还没有发现我的问题。 我有 CyanogenMod 11 [4.4.2]

<receiver
            android:name="com.example.widget"
            android:label="magicButtons" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_provider" />
        </receiver>
        <receiver android:name="com.example.widgetReciber">
            <intent-filter>
                <action android:name="updateW"/>
            </intent-filter>
        </receiver>

Widget.java(不完全是这个):

@Override
public void onEnabled(Context context) {
    super.onEnabled(context);
    //Upgrade buttons
}
@Override
public void onUpdate(Context context,AppWidgetManager appWidgetManager, int[] appWidgetIds){
  super.onUpdate(context,appWidgetManager,appWidgetIds);
  //Upgrade buttons
}
@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
}

【问题讨论】:

    标签: java android widget lockscreen


    【解决方案1】:

    有点晚了,但经过几个小时的调试后,我才找到了解决方案(互联网上似乎无处可寻^^)。每当您锁定手机并且锁屏小部件处于折叠状态时,Android 显然都会调用 onAppWidgetOptionsChanged()。这将重新创建您的小部件。

    为防止您的小部件变得不可用,您必须执行与 onUpdate() 中相同的操作。

    例子:

    public void onUpdate(Context context, AppWidgetManager manager,
            int[] appWidgetIds) {
        for(int a = 0; a < appWidgetIds.length; a++) {
            manager.updateAppWidget(appWidgetsIds[a], createWidget());
        }
    }
    
    public void onAppWidgetOptionsChanged(Context context, AppWidgetManager manager, 
            int appWidgetId, Bundle widgetOptions) {
        manager.updateAppWidget(appWidgetId, createWidget());
    }
    
    private RemoteViews createWidget() {
        //Create your Widget (aka RemoteViews) here! You might want to pass      
        //needed variables for creating the widget ;)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 2021-08-22
      • 2021-11-02
      相关资源
      最近更新 更多