Android使用广播(BroadCast)实现强制下线的方法

2019-12-10 19:17:09丽君

使用的是TableLayout,当然也可以使用其他布局,在该布局中,定义了登陆等相关信息。

4、新建登陆布局对应的Activity

新建登陆布局对应的Activity类,用于加载登陆布局:

package com.example.broadcastpractice;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends BaseActivity {
  private EditText accountEdit;
  private EditText passwordEdit;
  private Button loginButton;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    //首先调用父类的方法
    super.onCreate(savedInstanceState);
    //加载登陆布局
    setContentView(R.layout.login);
    //获取输入内容
    accountEdit = (EditText) findViewById(R.id.account);
    passwordEdit = (EditText) findViewById(R.id.password);
    loginButton = (Button) findViewById(R.id.login);
    //注册按钮点击事件
    loginButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
         String account = accountEdit.getText().toString();
         String password = passwordEdit.getText().toString();
        if(account.equals("yy") && password.equals("123456")){
          //登陆成功
          //启用MainActivity活动
          Intent intent = new Intent(LoginActivity.this,MainActivity.class);
          //启动
          startActivity(intent);
          //当前活动销毁
          finish();
        }else{
          //登陆失败
          //清空内容
          accountEdit.setText("");
          passwordEdit.setText("");
          Toast.makeText(LoginActivity.this, "登陆失败,请重新登陆!!", Toast.LENGTH_SHORT).show();
        }
      }
    });
  }
}

在登陆按钮的监听事件中,当登陆验证通过,新新一个活动MainActivity,同时销毁当前活动,如果登陆失败,则清空所填内容。

5、MainActivity

package com.example.broadcastpractice;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
 * 继承BaseActivity
 * @author yy
 *
 */
public class MainActivity extends BaseActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //获取按钮
    Button forceOffline = (Button) findViewById(R.id.force_offline);
    //注册事件
    forceOffline.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        //启用广播
        Intent intent = new Intent("com.example.broadcastpractice.FORCE_OFFLINE");
        //发送广播--标准广播
        sendBroadcast(intent);
      }
    });
  }
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }
}