按两次返回键退出程序
public class MainActivity extends Activity {
private Button but;
private static boolean isExit = false;
private static Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
super.handleMessage(msg);
isExit = false;
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
but = (Button) findViewById(R.id.send);
but.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent("com.my");
sendBroadcast(intent);
Intent intent = new Intent(MainActivity.this, Working.class);
PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.Builder mBuilder = new Builder(MainActivity.this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("开始搬砖了")
.setContentText("今天搬100块转")
.setTicker("有新的任务")
.setDefaults(Notification.DEFAULT_SOUND)
.setContentIntent(pi);
final Notification notification = mBuilder.build();
final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(1, notification);
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
return true;
}
return super.onKeyDown(keyCode, event);
}
public void exit() {
if (!isExit) {
isExit = true;
Toast.makeText(this, "再按一次推出", Toast.LENGTH_SHORT).show();
handler.sendEmptyMessageDelayed(0, 2000);
}else{
this.finish();
}
}
}
在AndroidManifest.xml文件中:
......
<receiver android:name="com.example.qqa.MyBroadcastReceiver" >
<intent-filter>
<action android:name="com.my" />
</intent-filter>
</receiver>
......
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Toast.makeText(arg0, "小子,你好啊!", Toast.LENGTH_SHORT).show();
}