2013-10-23 4 views
0

나는 멋지게 작동하는 디지털 위젯 시계가 있습니다! 하지만 문제는 여기에 그것이 업데이트되지 않는다는 것입니다. 나는 그 순간을 홈 화면에 추가한다는 것을 의미합니다 !!! widget.java에서업데이트와 함께 problme android appwidget

:

Time today = new Time(Time.getCurrentTimezone()); 
today.setToNow(); 

int hour = today.hour; 
String hh = Integer.toString(hour); 

int minute = today.minute; 
String mm = ":" + Integer.toString(minute); 
:의 onUpdate의 처음 난 문자열로 시간과 분을 얻기 위해 시간의 방법을 사용하고 내부에 다음

Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
     int[] appWidgetIds) { 

    super.onUpdate(context, appWidgetManager, appWidgetIds); 
for (int i = 0; i < appWidgetIds.length; i++) { 

    int appWidgetId = appWidgetIds[i]; 

과 : 나는 이런의 onUpdate를 두 비트 맵 이미지 뷰 내부

하고 난 보여 한 두 스트링 :

 RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout); 

     views.setImageViewBitmap(R.id.imageView1, getFontBitmap(context, hh, Color.WHITE, 70)); 

     views.setImageViewBitmap(R.id.imageView2, getFontBitmap1(context, mm, Color.WHITE, 70)); 

     appWidgetManager.updateAppWidget(appWidgetId, views); 
    } 
} 

및 매니페스트에서이 내 수신기 :

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="288dp" 
    android:minHeight="144dp" 
    android:updatePeriodMillis="10000" 
    android:initialLayout="@layout/widget_layout"> 
</appwidget-provider> 

그래서 어떤 도움 : 여기

 <receiver android:name="widget"> 
    <intent-filter> 
     <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> 
    </intent-filter> 
    <meta-data android:name="android.appwidget.provider" 
     android:resource="@xml/widget"/> 

및 고해상도/XML 내 widget.xml입니까?

답변

2

사전에서

덕분에 이런 경우에 누군가가이 문제를 통해 실수를 한단다.

나는이 문제가 android:updatePeriodMillis에 있다고 생각합니다. 업데이트에 허용되는 최소 시간은 30 분입니다. 더 짧은 기간이 필요한 경우 시간을 "0"으로 설정 한 다음 반복 사용을 사용하는 등의 방법으로 위젯을 업데이트해야합니다. AlarmManager . 그러나 AppWidget을 자주 업데이트하면 배터리 수명이 단축 될 수 있으므로주의해서 사용해야하며, 적어도 장치가 절전 모드가 아닌 동안에 만 업데이트가 이루어 지도록해야합니다.

http://developer.android.com/guide/topics/appwidgets/index.html#MetaData

그것은 30 분 미만 기간의 경우 설정되는 것, 그것은 (어떤 구성 활동이 제공되지되는 경우에는 기본적으로 호출)하지만 다음 업데이트를 요청합니다 첫 번째 업데이트를 할 것입니다 최소 시간 인 30 분 후에

관련 문제