安卓关机(2)
来源:互联网 发布:淘宝不包邮地区有哪些 编辑:程序博客网 时间:2024/05/16 11:36
第二种方法是用安卓内部的一个api接口:
package com.norco.shutdown;
import android.os.SystemClock;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.PowerManager;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import java.text.Format;
import java.util.Calendar;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Intent; ;
import android.widget.Toast;
import java.io.IOException;
import android.app.AlertDialog;
public class ShutdownActivity extends Activity {
private Button sureButton,cancelButton;
//private TimePicker myTimePicker1,myTimePicker2;
private Calendar calendar =Calendar.getInstance();
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.shutdown_layout2);
/*
myTimePicker1 = (TimePicker)findViewById(R.id.myTimePicker1);
myTimePicker2 = (TimePicker)findViewById(R.id.myTimePicker2);
//ÉèÖÃÏÔΪ24СʱÖÆ
myTimePicker1.setIs24HourView(true);
myTimePicker2.setIs24HourView(true);
// ÉèÖóõÊŒÏÔʟʱŒä
myTimePicker1.setCurrentHour(00);
myTimePicker1.setCurrentMinute(00);
myTimePicker2.setCurrentHour(00);
myTimePicker2.setCurrentMinute(00);
myTimePicker1.setOnTimeChangedListener(new myTimePickerChangeListener());
myTimePicker2.setOnTimeChangedListener(new myTimePickerChangeListener());
*/
sureButton = (Button)findViewById(R.id.myButton1);
cancelButton = (Button)findViewById(R.id.myButton2);
sureButton.setOnClickListener(new ButtonOnClickListener());
cancelButton.setOnClickListener(new ButtonOnClickListener());
//====================================test=================================================================
Button okbutton1=(Button)findViewById(R.id.okbutton1);
Button canclebutton1=(Button)findViewById(R.id.canclebutton1);
okbutton1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//取得系统的时间的默认值
calendar.setTimeInMillis(System.currentTimeMillis());
int mHour=calendar.get(Calendar.HOUR_OF_DAY);
int mMinute=calendar.get(Calendar.MINUTE);
new TimePickerDialog(ShutdownActivity.this,new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//取得设置的时间
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
System.out.println("------------0-------");
//设置到指定的时间提醒
Intent intent =new Intent(ShutdownActivity.this,TimeReciever1.class);
System.out.println("------------q1-------");
//创建PendingIntent
PendingIntent sender=PendingIntent.getBroadcast(ShutdownActivity.this, 1, intent, 0);
// 设置PendingIntent自运行一次
AlarmManager alarmManager;
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), sender);
//更新显示设置的闹钟时间
String tmps=format(hourOfDay)+":"+format(minute);
// toast 提示一下
Toast.makeText(ShutdownActivity.this, "设置的关机时间为:"+tmps,Toast.LENGTH_LONG).show();
}
private String format(int x) {
String s=""+x;
if (s.length()==1) {
s="0"+s;
}
return s;
}
}, mHour, mMinute, true).show();
}
});
canclebutton1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent(ShutdownActivity.this,TimeReciever1.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(ShutdownActivity.this, 1, intent, 0);
//
AlarmManager alarmManager;
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
Toast.makeText(ShutdownActivity.this, "关机时间已取消...", 3).show();
}
});
//============================================================test=====================================
Button okbutton=(Button)findViewById(R.id.okbutton);
Button canclebutton=(Button)findViewById(R.id.canclebutton);
okbutton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//取得系统的时间的默认值
calendar.setTimeInMillis(System.currentTimeMillis());
int mHour=calendar.get(Calendar.HOUR_OF_DAY);
int mMinute=calendar.get(Calendar.MINUTE);
new TimePickerDialog(ShutdownActivity.this,new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//取得设置的时间
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
System.out.println("------------0-------");
//设置到指定的时间提醒
Intent intent =new Intent(ShutdownActivity.this,TimeReciever.class);
System.out.println("------------q1-------");
//创建PendingIntent
PendingIntent sender=PendingIntent.getBroadcast(ShutdownActivity.this, 0, intent, 0);
// 设置PendingIntent自运行一次
AlarmManager alarmManager;
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
//更新显示设置的闹钟时间
String tmps=format(hourOfDay)+":"+format(minute);
// toast 提示一下
Toast.makeText(ShutdownActivity.this, "设置的开机时间为:"+tmps,Toast.LENGTH_LONG).show();
}
private String format(int x) {
String s=""+x;
if (s.length()==1) {
s="0"+s;
}
return s;
}
}, mHour, mMinute, true).show();
}
});
//取消闹钟
canclebutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent(ShutdownActivity.this,TimeReciever.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(ShutdownActivity.this, 0, intent, 0);
//
AlarmManager alarmManager;
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
Toast.makeText(ShutdownActivity.this, "开机时间已取消...", 3).show();
}
});
}
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.shutdown_layout, menu);
return true;
}
class ButtonOnClickListener implements OnClickListener
{
public void onClick(View v)
{
// Œì²âÄÄžö°ŽŒü±»°ŽÏÂ
//System.out.println(v.getId()+" is current button Id!");
if(R.id.myButton1 == v.getId())
{
/* ÖØÆôŽúÂë */
System.out.println("RebootButton pressed!");
PowerManager pManager=(PowerManager) getSystemService(Context.POWER_SERVICE);
pManager.reboot("ÖØÆô");
System.out.println("execute cmd--> reboot\n" + "ÖØÆô");
}
if(R.id.myButton2 == v.getId())
{
System.out.println("ShutdownButton pressed!");
Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false); //false
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
}
}
同样也需要安卓第一部分那样添加后面两个特殊情况详情看安卓关机(1)
- 安卓关机(2)
- 安卓关机(1)
- 安卓关机(3)
- 安卓7.0关机流程(显示)
- 安卓按键关机------- KEYCODE_POWER
- 安卓关机重启
- 安卓5.1 取消关机菜单
- 安卓手机如何更改开机 关机 动画
- 安卓手机如何更改开机 关机 动画
- 安卓5.1关机添加确认弹窗
- 安卓运用层,实现重启和关机功能
- “小懒虫”安卓手机控制电脑关机
- 安卓编程方式实现重启与关机
- 安卓源代码修改之framework下面长按power键,修改安卓原生的关机、重启界面(一)
- 安卓源代码修改之framework下面长按power键,修改安卓原生的关机、重启界面(二)
- 安卓源代码修改之framework下面长按power键,修改安卓原生的关机、重启界面,并让界面背景变成模糊(三)
- 用VC实现系统关机(2)
- linux学习(2)关机命令
- 如何在HTML页面屏蔽鼠标右键和F5刷新键?
- IBatis.Net 批量插入数据
- 深入理解Linux内存管理 - 物理内存
- linux 下 tcpdump 的使用
- 将一个字符串数组输出为|分割的形式(C#)
- 安卓关机(2)
- 为什么土豆网王微会放弃自己原有的立场,跟优酷合并?合并后有何影响? .
- 将两个Int类型数组连接为一个string类型数组(C#)
- oracle 连接字符串
- Ubuntu12.04安装Xen4
- 中文文件名乱码
- 9、DOM4J详解
- C & C++的编译过程详解 (整理在此方便以后)
- 启动安装的应用程序