定义一个android基类退出app
Activity基类:
[java] view plaincopyprint?
package com.mayi.close_activity_by_broadcast.base;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.util.Log;
public class BaseActivity extends Activity {
protected static final String TAG = "BaseActivity";
BroadcastReceiver mybroad=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.i(TAG, "退出APP");
finish();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
IntentFilter filter=new IntentFilter();
filter.addAction("Exit APP");
this.registerReceiver(mybroad, filter);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
this.unregisterReceiver(mybroad);
}
}
test页面:
[html] view plaincopyprint?
package com.mayi.close_activity_by_broadcast;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import com.mayi.close_activity_by_broadcast.base.BaseActivity;
public class MainActivity extends BaseActivity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.exitapp).setOnClickListener(this);
findViewById(R.id.otherActivity).setOnClickListener(this);
}
@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;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.exitapp:
Intent exit=new Intent();
exit.setAction("Exit APP");
sendBroadcast(exit);
break;
case R.id.otherActivity:
Intent intent=new Intent(getApplicationContext(), Other.class);
startActivity(intent);
default:
break;
}
}
}
评论