編輯:關於Android編程
4.6在顯示其他應用程序的同時運行後台服務
問題
您希望您的應用程序的一部分繼續在後台運行,而用戶切換到與其他應用程序交互。
解
創建一個Service類來做後台工作;從您的主應用程序啟動服務。可選地提供通知圖標,以允許用戶停止正在運行的服務或恢復主應用程序。
討論
服務類(android.app.Service)作為與主應用程序相同的進程的一部分運行,但具有一個屬性,即使用戶切換到另一個應用程序或轉到主屏幕並啟動一個新的應用程序。
正如你現在所知道的,Activity類可以通過與其內容提供者匹配的意圖啟動,或者通過按類名稱提及它們的意圖啟動。服務也是如此。這個菜譜著重於直接啟動服務;配方4.1涵蓋了隱式啟動服務。以下示例取自JPSTrack,Android的GPS跟蹤程序。一旦您開始跟蹤,您不希望跟蹤停止,如果你接聽電話或必須看地圖(!),所以我們使它成為一個服務。如示例4-10所示,當您單擊開始跟蹤按鈕時,服務由主活動啟動,並由停止按鈕停止。注意,這是非常普遍的,startService()和stopService()被內置到Activity類中。
實例4-10。 onCreate方法
@Override public void onCreate(Bundle savedInstanceState) { ... Intent theIntent = new Intent(this, TrackService.class); Button startButton = (Button) findViewById(R.id.startButton); startButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { startService(theIntent); Toast.makeText(Main.this, "Starting", Toast.LENGTH_LONG).show(); } }); Button stopButton = (Button) findViewById(R.id.stopButton); stopButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { stopService(theIntent); Toast.makeText(Main.this, "Stopped", Toast.LENGTH_LONG).show(); } }); ... }
public class TrackService extends Service { private LocationManager mgr; private String preferredProvider; @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { initGPS(); // sets up the LocationManager mgr if (preferredProvider != null) { mgr.requestLocationUpdates(preferredProvider, MIN_SECONDS * 1000, MIN_METRES, this); return START_STICKY; } return START_NOT_STICKY; } @Override public boolean onUnbind(Intent intent) { mgr.removeUpdates(this); return super.onUnbind(intent); }
轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:【張鴻洋的博客】上一篇已經
自主實現滑動指示條先上效果圖:1、XML布局布局代碼如下:<LinearLayout xmlns:android=http://schemas.android.co
在做布局時,經常有些部分是重復的,比如title或者foot的地方,最簡單的辦法當然是直接復制過去, 這裡介紹include的用法,有過c++或者c經驗的
fragment是Activity中用戶界面的一個行為或者是一部分。你可以在一個單獨的Activity上把多個Fragment組合成為一個多區域的UI,並且可以在多個Ac