按返回键退出、发送广播、通知

按两次返回键退出程序

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();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值