安卓开发广播最简单强制下线

来源:互联网 发布:数据标准化方法比较 编辑:程序博客网 时间:2024/06/14 05:20

小菜鸟,不喜勿喷。

部分代码

package com.example.test619qiangzhixiaxian.test619qiangzhixiaxian;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity {    //发送广播    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button force_offline = (Button) findViewById(R.id.force_offline);        force_offline.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent("com.example.broadcastbestpractice.FORCE_OFFLINE");                sendBroadcast(intent);                Intent intent1 = new Intent(MainActivity.this, LoginActivity.class);                startActivity(intent1);            }        });    }}
package com.example.test619qiangzhixiaxian.test619qiangzhixiaxian;import android.app.AlertDialog;import android.content.BroadcastReceiver;import android.content.ContentProviderOperation;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.view.WindowManager;/** * Created by Administrator on 2017-06-19. *///广播接收器public class BroadcaseReceiver extends BroadcastReceiver {    @Override    public void onReceive(final Context context, Intent intent) {        AlertDialog.Builder dialogbuilder = new AlertDialog.Builder(context);        dialogbuilder.setTitle("warning");        dialogbuilder.setMessage("您已经强制退出,请重新登录");        dialogbuilder.setCancelable(false);        dialogbuilder.setPositiveButton("ok", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                //销毁所有东西                ActivityCollector.finishAll();                Intent intent1 = new Intent(context, LoginActivity.class);                //根据活动启动方式,调用实现不同的穹顶方式                intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            }        });        //创建实现        AlertDialog alertDialog = dialogbuilder.create();        //需要设置ALTERDIALOG的类型,保证在广播接收器中正常弹出        alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);        alertDialog.show();    }}
package com.example.test619qiangzhixiaxian.test619qiangzhixiaxian;import android.app.Activity;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2017-06-19. */// TODO: 2017-06-19 用于管理所有的活动 public class ActivityCollector {    //设置activity    public static List<Activity> activities = new ArrayList<Activity>();    //替换的方法    public static void addActivity(Activity activity) {        activities.add(activity);    }    //设置移除的方法    public static void removeActivity(Activity activity) {        activities.remove(activity);    }    //关闭所有现有活动    public static void finishAll() {        for (Activity activity : activities) {            if (activity.isFinishing()) {                activity.finish();            }        }    }}
package com.example.test619qiangzhixiaxian.test619qiangzhixiaxian;import android.app.Activity;import android.os.Bundle;/** * Created by Administrator on 2017-06-19. */// TODO: 2017-06-19 所有活动的父类public class BaseActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        ActivityCollector.addActivity(this);    }    @Override    protected void onDestroy() {        super.onDestroy();        ActivityCollector.removeActivity(this);    }}
package com.example.test619qiangzhixiaxian.test619qiangzhixiaxian;import android.content.Intent;import android.net.ConnectivityManager;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;/** * Created by Administrator on 2017-06-19. */public class LoginActivity extends BaseActivity {    EditText edit_account;    EditText edit_password;    Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.login);        edit_account = (EditText) findViewById(R.id.account);        edit_password = (EditText) findViewById(R.id.password);        button = (Button) findViewById(R.id.login);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                String account = edit_account.getText().toString();                String pasworrd = edit_password.getText().toString();                //设置账号是admin和密码是123456即为登录成功                if (account.equals("admin") && pasworrd.equals("123456")) {                    Intent intent = new Intent(LoginActivity.this, MainActivity.class);                    startActivity(intent);                    finish();                } else {                    Toast.makeText(LoginActivity.this, "您输入的不对,请重新输入", Toast.LENGTH_SHORT).show();                }            }        });    }}
 demo地址:http://pan.baidu.com/s/1hsgOy4c

原创粉丝点击