我想改变背景,但我想用定时器来改变它。例如,早上我有一个背景,晚上我有另一个背景。但我不知道在Android中使用什么。如果你有一个例子可以效仿。任何想法?
问问题
87 次
2 回答
1
只是为了确保我理解您的意思,您是否想要:
- 一段时间后
更改背景或 - 在不同的白天更改背景?
为了完成第二个,我将在您的 OnCreate() 方法(或任何其他地方,例如 OnResume(),一个按钮单击)中设置一个开关,以查找时间
Time t = new Time();
t.setToNow();
然后决定使用什么图像
于 2013-05-16T14:09:50.147 回答
0
这是每天重复警报的代码。您将不得不从此活动中取出您需要的代码(对此感到抱歉)。您可以使用此代码设置每天早上 9 点重复的闹钟。您可以在您预期的时间为晚上添加相同的内容。
public class AndroidScheduledActivity extends Activity {
/** Called when the activity is first created. */
int id = 115;
Intent myIntent;
PendingIntent pendingIntent;
AlarmManager alarmManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.start);
myIntent = new Intent(getBaseContext(), MyScheduledReceiver.class);
myIntent.putExtra("id", id);
pendingIntent = PendingIntent.getBroadcast(getBaseContext(), id, myIntent, 0);
alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
buttonStart.setOnClickListener(new Button.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
setForMonday();
finish();
}});
}
public void setForMonday() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK,2);
calendar.set(Calendar.HOUR,09);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
System.out.println("Old is set@ :== " + calendar.getTime());
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY, pendingIntent);
}
}
这是警报接收器
public class MyScheduledReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// here you can add the code to change the background
System.out.println("Receiver");
}
}
此外,您还必须在清单文件中添加接收器。
于 2013-05-16T14:59:55.753 回答