Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> android:啟動服務,廣播(最高優先竊聽信息)並轉發給別人

android:啟動服務,廣播(最高優先竊聽信息)並轉發給別人

編輯:Android開發教程

3.1、Service服務

Service類似Activity,實際上就是一個沒有界面的Activity,而且默認不會隨著程序關閉而關閉。

開發人員自定義的服務類一般用來完成一些安全軟件的一些監聽功能,以及消息提示,流氓軟件的功能。

系統服務則是通過類似getSystemService()的方法來取得系統的一些服務管理類(XxxxManager),來調用系統處理好的功能完成自己需要的操作,例如:電話監聽,連接狀態的判斷等。

如果想自己編寫一個服務類,可以建立一個類,繼承Service,並覆寫相應的方法即可。

編寫好服務類後,還需要在AndroidManifest.xml中聲明這個Service。

package com.example.service;
    
    
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.widget.Toast;
    
//每隔3秒顯示下toast
public class TestService extends Service {
private  Handler handler;
private boolean flag=true;
@Override
public IBinder onBind(Intent arg0) {
//綁定activity,一般不用,用了的話,則activity關閉,service也關閉
// 查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/
return null;
}
/**主線程
* 
*/
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
System.out.println("創建service");
//調用子線程
handler=new Handler(){
public void handleMessage(Message msg) {
Toast.makeText(TestService.this,"啟動了服務------------",Toast.LENGTH_LONG).show();
}
};
}
    
    
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("銷毀service-----------");
flag=false;//這是為了關閉死循環進程
}
    
    
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//啟動服務時自動調用這個方法
Thread t=new Thread(){
public void run() {
while (flag) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
handler.sendEmptyMessage(0);
}
}
};
t.start();
return super.onStartCommand(intent, flags, startId);
    
}
    
}

還可以通過系統服務來讀取手機的各種信息以及網絡連接狀態的信息。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved