1. [代码][Java]代码     
package com.zjt.innerreceiver;
 
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.util.Log;
 
public class ServiceTest extends Service{
 
public final static String TAG = "ServiceTest";
 
private Receiver mReceiver;
 
@Override
public IBinder onBind(Intent arg0) {
return null;
}
 
@Override
public void onCreate() {
super.onCreate();
//注册Receiver
mReceiver = new Receiver(this);  
mReceiver.registerActionAndScheme(Intent.ACTION_MEDIA_EJECT, "file"); 
mReceiver.registerActionAndScheme(Intent.ACTION_MEDIA_REMOVED, "file"); 
mReceiver.registerActionAndScheme(Intent.ACTION_MEDIA_MOUNTED, "file"); 
mReceiver.registerActionAndScheme(Intent.ACTION_PACKAGE_REMOVED, "package"); 
                mReceiver.registerActionAndScheme(Intent.ACTION_PACKAGE_ADDED, "package");
}
 
@Override
public void onDestroy() {
super.onDestroy();
//注销Receiver
unregisterReceiver(mReceiver);  
}
 
 
 
class Receiver extends BroadcastReceiver {    
        
Context mContext;    
  
        public Receiver(Context context){    
            mContext = context;    
        }    
            
        //动态注册  
        public void registerAction(String action){    
            IntentFilter filter = new IntentFilter();    
            filter.addAction(action);        
            mContext.registerReceiver(this, filter);    
        }  
        
        public void registerActionAndScheme(String action, String dataScheme){    
            IntentFilter filter = new IntentFilter();   http://www.huiyi8.com/css3/ 
            filter.addAction(action);      css3教程
            filter.addDataScheme(dataScheme);
            mContext.registerReceiver(this, filter);    
        } 
            
        @Override    
        public void onReceive(Context context, Intent intent) {    
         String action = intent.getAction();
         Log.d(TAG, "action:" + action);
        
         if(action.equals(Intent.ACTION_MEDIA_EJECT)) {
         Log.d(TAG , "sdcard has been ejected");
         } else if (action.equals(Intent.ACTION_MEDIA_REMOVED)) {
         Log.d(TAG , "sdcard has been removed");
         } else if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
         Log.d(TAG , "sdcard has been mounted");
         } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {
         Log.d(TAG, "Intent.ACTION_PACKAGE_REMOVED");
         } else if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {
         Log.d(TAG, "Intent.ACTION_PACKAGE_ADDED");
         }
             
        }    
            
    }    
}

最新文章

  1. .net 一些开源的东东
  2. python编码-1
  3. Golang控制goroutine的启动与关闭
  4. API Design
  5. jq的核心基础
  6. Swift实战-豆瓣电台(九)简单手势控制暂停播放(全文完)
  7. Web Token JWT
  8. 03_Spring工厂接口
  9. Yii连接多个数据库的方法
  10. R语言-Knitr包的详细使用说明
  11. ServletContext全局变量初始化
  12. 定义Java类的数组的问题
  13. HTML5学习笔记<五>: HTML表单和PHP环境搭建
  14. ES2015 类 class 语法
  15. SQL 注入漏洞
  16. InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
  17. RedHat下安装MySQL5.5
  18. UNITY3d在移动设备上的一些优化实战
  19. 分模块开发创建Action子模块——(九)
  20. 使用私钥.pem和SecureCRT登陆linux系统

热门文章

  1. Atcoder Grand Contest 024
  2. codeforces A. Wrong Subtraction
  3. Ubuntu 16.04中的Dock的应用顺序调整
  4. 【Linxu】CentOS7下安装程序报错:
  5. Android常见的三种内部类
  6. python(6)- 常用快捷键及基础命令
  7. 拒绝ssh远程暴力破解
  8. Java面向对象基础三
  9. Linux的基本使用
  10. krpano HTML5 Viewer可以实现全景展示