編輯:關於Android編程
這是一個很多很多人都 會遇到的問題,我也試過了很多方法,都不怎麼好用。
比如:
復制代碼 代碼如下:
System.exit(0);
不行。
還有什麼跳轉到第一個activity,同時把棧頂的activity全部清除,最後再finish();還是不行。。不知道為什麼。
這裡是我自己的一個方法,效果非常好。
原理:在每個activity都注冊一個廣播接收器,用來接收關閉activity的廣播。當需要退出程序的時候就發送一條關閉activity的廣播,這樣所有的activity都會接收到,然後所有activity都會自己finish了。
復制代碼 代碼如下:
package com.example.exitsystem;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
/**
* 所有activity都繼承此類,同時也就等於注冊了廣播,
* 當需要完全退出系統的時候就可以發送廣播,
* action為com.example.exitsystem.system_exit(自定義),
* 這樣就可以隨時退出所有的activity了
* @author LinZhiquan
*
*/
public class SuperActivity extends Activity {
/** 廣播action */
public static final String SYSTEM_EXIT = "com.example.exitsystem.system_exit";
/** 接收器 */
private MyReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//注冊廣播,用於退出程序
IntentFilter filter = new IntentFilter();
filter.addAction(SYSTEM_EXIT);
receiver = new MyReceiver();
this.registerReceiver(receiver, filter);
}
@Override
protected void onDestroy() {
//記得取消廣播注冊
this.unregisterReceiver(receiver);
super.onDestroy();
}
private class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
}
}
復制代碼 代碼如下:
package com.example.exitsystem;
import android.os.Bundle;
/**
* 普通activity, 繼承SuperActivity
* @author LinZhiquan
*
*/
public class MainActivity extends SuperActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
需要退出程序的時候發送一條廣播即可。
復制代碼 代碼如下:
Intent intent = new Intent();
intent.setAction(SuperActivity.SYSTEM_EXIT);
sendBroadcast(intent);
很開心的是經歷過兩個多月的努力,項目在11月份即將要交付使用,基礎功能已經完成,剩下的是系統設定界面沒有開發完畢,如下圖:很顯然要實現的功能是幾個界面要顯示很多數據,要依
首先我們來理解下監聽器的機制。Android的事件處理機制有兩種:監聽和回調。A基於監聽的事件處理主要涉及三類對象:EventSource(事件源),Event(事件),
1、QuantityView 類似購物車數量調節:效果圖:項目在GitHub上的地址:https://github.com/himanshu-soni/QuantityV
一、---框架---1、新建一個布局文件,輸入我們想要使用的線程的個數,包括一個主布局文件和一個progressBar(1)一個包括三個控件的主布局(2)一個只包含Pro