당신이 설명하고 해결책을 찾기 위해 많이 찾았으며 찾을 수없는 것과 똑같은 문제가 내 위젯에있었습니다. 내가 한 일은 내 경우에 잘 작동하는 것 같은 일종의 해결 방법이다. 내가 한 일은 위젯을 onUpdate() 메서드에서 직접 업데이트하는 대신 다음과 같이 업데이트를 처리 한 서비스를 시작한 다음 그 자체를 종료했습니다. 이것은 에뮬레이터와 업데이트 도중 위젯이 붙어있는 장치에서 해결되었습니다.
의 AppWidgetProvider : 다음은 샘플 코드입니다
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
context.startService(new Intent(context, WidgetService.class));
}
본 서비스 :이 해결 방법이 문제를 해결하지만, 좋은 일이 희망이 작업을 수행하는 것이 왜 있는지
@Override
public void onStart(Intent intent, int startId) {
started(intent);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
started(intent);
return START_STICKY;
}
private void started(Intent intent) {
//update here the widgets
Context context = getApplicationContext();
updateWidgets(context);
stopSelf();//killing the service
}
private void updateWidgets(Context context) {
AppWidgetManager appmanager = AppWidgetManager.getInstance(context);
ComponentName cmpName = new ComponentName(context, widgetClass);
int[] widgetIds = appmanager.getAppWidgetIds(cmpName);
RemoteViews rView = new RemoteViews(context.getPackageName(), layoutId);
for (int wid : widgetIds) {
//all updates here
rView.setTextViewText(tvId, desc);
appmanager.updateAppWidget(wid, rView);
}
}
주 도와 드리겠습니다.
출처
2012-02-15 21:20:27
sam
AndroidManifest.xml을 포함하면 어떨까요? 내 첫 번째 혐의는 패키지 이름이나 의도 등록 또는 뭔가 잘못 될 것입니다. – fluffy
추가 : 재고, 일부 공급 업체 ROM 또는 사용자 정의 ROM? –
그리고 주식에 의하여 나는 바닐라 안드로이드를 의미한다. 바보 야. –