Activity小技巧
生活随笔
收集整理的這篇文章主要介紹了
Activity小技巧
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
隨時(shí)隨地退出程序
新建一個(gè)結(jié)合類對(duì)所有活動(dòng)進(jìn)行管理。
1 public class ActivityCollector{ 2 public static List<Activity> activities = new ArrayList<>(); 3 public static void addActivity(Activity activity){ 4 activities.add(activity); 5 } 6 public static void removeActivity(Acitivity activity){ 7 activities.remove(acitivity); 8 } 9 public static void finishAll(){ 10 for(Activity activity: activities){ 11 if(!activity.isFinishing()){ 12 activity.finish(); 13 } 14 } 15 } 16 }?
啟動(dòng)活動(dòng)技巧
在SecondActivity中添加一個(gè)actionStrat()
1 public class SecondActivity extends BaseActivity{ 2 public static void actionStart(Context context,String data1,String data2){ 3 Intent intent = new Intent(context,SecondActivity.class); 4 intent.putExtra("param1","data1"); 5 intent.putExtra("param2","data2"); 6 context.startActivity(intent); 7 } 8 ...... 9 }啟動(dòng)SecondActivity
public void onClick(View v){SecondActivity.actionStart(FirstAcitivity.this,"data1","data2"); }? 殺死整個(gè)App
/** * 退出應(yīng)用程序 */ public void AppExit(Context context) { try { ActivityCollector.finishAll(); ActivityManager activityMgr = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); activityMgr.killBackgroundProcesses(context.getPackageName()); System.exit(0); } catch (Exception ignored) {} }雙擊退出程序兩個(gè)方法:
1)定義一個(gè)變量,來(lái)標(biāo)識(shí)是否退出
// 定義一個(gè)變量,來(lái)標(biāo)識(shí)是否退出 private static boolean isExit = false; Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);isExit = false;} };public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {if (!isExit) {isExit = true;Toast.makeText(getApplicationContext(), "再按一次退出程序",Toast.LENGTH_SHORT).show();// 利用handler延遲發(fā)送更改狀態(tài)信息mHandler.sendEmptyMessageDelayed(0, 2000);} else {exit(this);}return false;} return super.onKeyDown(keyCode, event);}2)保存點(diǎn)擊時(shí)間:
/保存點(diǎn)擊的時(shí)間 private long exitTime = 0; public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {if ((System.currentTimeMillis() - exitTime) > 2000) {Toast.makeText(getApplicationContext(), "再按一次退出程序",Toast.LENGTH_SHORT).show();exitTime = System.currentTimeMillis();} else {exit();}return false;}return super.onKeyDown(keyCode, event); }?
轉(zhuǎn)載于:https://www.cnblogs.com/yl-saber/p/6381339.html
總結(jié)
以上是生活随笔為你收集整理的Activity小技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: UVa 1629 切蛋糕(记忆化搜索)
- 下一篇: Count on a tree