編輯:Android開發實例
大家好,好久不見,今天在開發中遇到的一個問題給大家分享一下,我先前做了一個音樂播放器,因為播放音樂一般都是用服務來處理的。
當用戶點擊播放按鈕時,音樂在服務中播放,然後用用戶退出程序(服務進程還在,音樂還繼續),所以妥用戶點再次進入應用時,我們播放器要處於播放狀態,這裡我作了簡單的處理,判斷這個音樂服務是否開啟來完成的。
今天給大家的小例子是列出Android設備中所有啟動的服務,及判斷某個服務是否開啟,具體步驟如下了:
第一步:新建一個Android工程,命名為RunningService。
第二步:修改RunningService.java代碼如下:
- package com.tutor.runningservice;
- import java.util.List;
- import android.app.Activity;
- import android.app.ActivityManager;
- import android.os.Bundle;
- import android.widget.TextView;
- public class RunningService extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //setContentView(R.layout.main);
- TextView mTextView = new TextView(this);
- ActivityManager mActivityManager =
- (ActivityManager)getSystemService(ACTIVITY_SERVICE);
- List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30);
- //我要判斷的服務名字,我在launcher2裡加了一個音樂服務
- final String musicClassName = "com.android.launcher2.MusicService";
- boolean b = MusicServiceIsStart(mServiceList, musicClassName);
- mTextView.setText("你要判斷的服務狀態為: " +b+"\n" + getServiceClassName(mServiceList));
- setContentView(mTextView);
- }
- //通過Service的類名來判斷是否啟動某個服務
- private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){
- for(int i = 0; i < mServiceList.size(); i ++){
- if(className.equals(mServiceList.get(i).service.getClassName())){
- return true;
- }
- }
- return false;
- }
- //獲取所有啟動的服務的類名
- private String getServiceClassName(List<ActivityManager.RunningServiceInfo> mServiceList){
- String res = "";
- for(int i = 0; i < mServiceList.size(); i ++){
- res+=mServiceList.get(i).service.getClassName()+ " \n";
- }
- return res;
- }
- }
第三步:運行上述工程,查看效果!
不看不知道,一看嚇一跳,乖乖,開了這麼多服務,難怪手機很快就沒電了。
上面的一些服務好多是系統自帶的,並且不可見的,我們可以到Settings->Applications->Running services查看
一共才看到十來個服務。
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
本文著重講解如何使用MaskFilter創建模糊陰影以及浮雕效果。 我們知道Canvas中的各種