【发布时间】:2019-02-06 10:19:08
【问题描述】:
需要每秒或每次分钟更改时更新时钟小部件的 TextView ..
我正在从我的 AppWidgetProvider 的 onReceive 调用该服务:
private String action = "clock.beautiful.best.com.mmclock.TheService";
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
//UseThis
Log.e("h","R");
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main_widget);
// Create a fresh intent
Intent serviceIntent = new Intent(context, TheService.class);
serviceIntent.setAction(action);
context.startService(serviceIntent);
ComponentName componentName = new ComponentName(context, TheService.class);
AppWidgetManager.getInstance(context).updateAppWidget(componentName, remoteViews);
}
我应该怎么做才能及时检查更新,如果有则更新'时间'TextView..
服务:
public class TheService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Log.e("Service","created");
}
@Override
public void onDestroy() {
Log.e("Service","Destroy");
}
public void changeYexy (){
RemoteViews remoteViews = new RemoteViews(TheService.this.getPackageName(), R.layout.main_widget);
remoteViews.setTextViewText(R.id.dateTextView,"T");
}
@Override
public void onStart(Intent intent, int startid) {
Log.e("Service","start");
}
}
我不希望用户一次又一次地打开活动来更新,有什么办法可以检查和更新服务或小部件的时间..
任何一种真的真的真的很感激
【问题讨论】:
标签: java android service widget broadcastreceiver