|
悬赏8未解决
今天听到别人的一个需求,说让android 在定时的时间开机,但是我想了想,这可以实现的貌似不可能,至少在当前阶段需要硬件支持! 2 X1 g! }+ b0 }* O# Y
6 q9 c; `* s+ l- b$ r5 R5 M6 ^
但是我们可以先让android 定时关机,怎么做呢。。当然用alarm 了。
1 E- _ L% `* K9 o, S. T) i
8 h. W; \! p# p9 {4 q先通过设置pendingIntent ..然后把设置到alarm 。。。来电具体的代码吧!
. `6 N6 S P1 Y7 I5 j8 v5 O8 [$ Z3 {5 ]( X7 \4 K
Java代码 * W2 x" ^6 F, ?& p) F! B
Calendar calendar = Calendar.getInstance();
4 H3 p; j( g: m. B- W% ^long nowTime = calendar.getTimeInMillis();//这是当前的时间
' k) J3 z6 T$ n7 }2 ~* Cint hour = 你要设置的时间
. c0 R1 P9 P+ @8 p, {int minutes = 你要设置的时间 . H' p* _* W" `8 `+ O1 A
; y v9 `% j& j% a
Calendar myCal = Calendar.getInstance();
9 c! a, N. e, h* emyCal.set(Calendar.HOUR_OF_DAY,hour); 2 `9 U5 |6 X& A9 k
myCal.set(Calendar.MINUTE,minutes); 2 l' o$ @, w. B" c1 u
long shutDownTime = myCal.getTimeInMillis();
% p0 |; G0 I; K) h8 x* l
5 M" S# f: k Y4 gIntent intent= new Intent();
4 D. m6 a5 T6 P4 g+ Y2 sintent.addAction();
, s* l; f6 t7 T* x1 O) ]! ?PendingIntent pendingIntent = PendingIntent.getService(context,0,intent,0);
( b. e" ~& }" B4 \4 uAlarmManager alarm = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); : m5 d8 k3 E; W) ~
1 j; k4 _0 J5 t
alarm.set(AlarmManager.RTC,shutDownTime -nowTime, pendingIntent); " C& b: C8 b, }) f% G
2 h, \; j' U. K& f/ i* b3 ^下面是 service 。。。 - |* c$ ]1 [/ Z9 n9 J
6 k/ @7 w/ o. d U; ^4 }) e接收到 Intent中的action 的话。。就启动。。
& b9 s- h/ z/ A x" }. J* [2 U
2 {) w4 S7 o X+ ?) j8 sonStart(){
h+ R' Y, I% ?+ o6 M" j" [3 vIntent intent = new Intent();
4 ?2 Y! E8 t1 \# i; {/ jintent.setAction("android.intent.action.ACTION_SHUTDOWN"); 1 N! y9 L }$ K. l. F
sendBroadCast(intent);
! i% a2 M9 ]+ ?( \! V, e G" k- Q& u0 ?} ' o* i8 V z" g/ V5 } N) z2 ]2 w
, M, y1 W+ f8 S `
* {2 \' T; ~4 k' Y以上就是伪代码了。。看看是不是能关机了呢?对了记得 在清单文件中设置权限啊。。。。 |
|