標籤:des android class java http ext
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"); } } } }