Android AlarmManager实现自动开关机

本文原创:转载请注明出处!

http://blog.csdn.net/adroitly/article/details/28444385

前几天朋友叫我帮他弄个Android自动开关机的,让它平时好好的管理 自己的手机,当时没多想就说,行给我点时间,谁知道查了才知道原理关机和重启实现比较简单,但是开机就不知道怎么说了!因为真的是需要底层的实现,对我这个只会应用的人来说怎么可能做到啊!然后再去看看Android市场,真正实现自动开关机的都是假的,关机只是飞行而已,朋友说的要关机,没办法,只能硬来!

很多人都想到用AlarmManager我也怎么想的,但是实现不了,原因很简单,我不会签名!

开机的实现:

 start_am = (AlarmManager)getSystemService(ALARM_SERVICE);  
		          
		        start_pi = PendingIntent.getActivity(this, 0, new Intent(this, Arm_Start_Receiver.class), Intent.FLAG_ACTIVITY_NEW_TASK);  
		        start_am.setInexactRepeating(AlarmManager.RTC_WAKEUP , Start_time, 1000 * 60 * 60 * 24, start_pi);

别急,上面的只是一个定时而已!

真正的开机用:

		 Intent i = new Intent(Intent.ACTION_REBOOT);
         i.putExtra("nowait", 1);
         i.putExtra("interval", 1);
         i.putExtra("window", 0);
         this.sendBroadcast(i);


再说关机吧!

Process process;
		try {
			process = Runtime.getRuntime().exec("su");
			 DataOutputStream out = new DataOutputStream(  
		                process.getOutputStream());  
		        out.writeBytes("reboot -p\n");  
		        out.writeBytes("exit\n");  
		        out.flush(); 
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}  
再说重启:

try {
			proc = Runtime.getRuntime().exec("su -c \"/system/bin/reboot\"");
			proc.waitFor();
			
		} catch (Exception e) {
			
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	    
至于我不会签名也能开机嘛,这个我是如何做到的保密啊!总之有办法就是了!

最后我想跟你说!对于上面的代码,重启和开机我都用root去实现的哦!怕被root不安全的别试啊!


源码我就不上传了!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值