小菜鸟,不喜勿喷。
部分代码
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