-
服务的两种启动方式: 1.通过startService(Intent intent)启动,stopService(Intent intent)停止,比较简单。服务启动后与启动源无关,也无返回服务本身。需注意要在配置文件中注册服务。 2.通过bindService(Intent intent,ServiceConnection conn,int flags)绑定服务启动,unbindService(ServiceConnection conn)去绑定停止,该方式可以返回服务本身,与启动源相关。 具体步骤: 1)Intent intent = new Intent(上下文, 目标服务名.class); bindService(intent, conn, Service.BIND_AUTO_CREATE);//绑定 2)在自定义的服务类中通过自定义一个内部类: public class MyBinder extends Binder { public MyBindService getService() { return MyBindService.this;// 获取服务 } }来返回服务本身 同时在自定义服务类重新父类Service的方法: public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return new MyBinder(); } 该方法可返回服务本身. 3)初始化ServiceConnection接口,在接口方法中重写方法 public void onServiceConnected(ComponentName name, IBinder service) { myBindService = ((MyBinder)service).getService();//大类转化为自身的小类,获取内部类中的方法,从而获得服务本身 } 4)在自定义的继承于Servic类的类中,添加需要的方法,在启动Service的Activity中可以直接调用服务中的方法。查看全部
-
SQLite的数据类型查看全部
-
SQLITE特点查看全部
-
系统和自定义查看全部
-
ContentReslover和ContentProvider的方法相同查看全部
-
ContentReslover方法查看全部
-
UriMatcher类查看全部
-
何为URI?查看全部
-
如何理解ContentProvider查看全部
-
如何实现ContentProvider查看全部
-
二、使用GestureOverlayView进行手势识别 1、使用Gesture Builder生成手势文件 2、加入项目 3、GestureOverlayView查看全部
-
一、GestureDector的手势识别的原理查看全部
-
(四)OnGestureListener接口: 单击:onDown(MotionEvent e) 抬起:onSingleTapUp(MotionEvent e) 短按:onShowPress(MotionEvent e) 长按:onLongPress(MotionEvent e) 滚动:onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY) 滑动:onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY) (五)OnDoubleTaoListener接口: 双击:onDoubleTap(MotionEvent e) 双击按下和抬起各触发一次:onDoubleTapEvent(MotionEvent e) 单击确认:onSingleTapConfirmed(MotionEvent e)(即很快的按下并抬起,但并不连续点击第二下) (六)SimpleOnGestureListener 1.集成SimpleOnGestureListener 2.重载感兴趣的手势查看全部
-
常用的系统的服务查看全部
-
1、获取系统音量的服务 AudioManager mAudioManager=(AudioManager ) context.getSystemService(AUDIO_SERVICE); int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM); int current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING); 2、获取当前进程包名 ACTIVITYManager mActivityManager =(ACTIVITYManager ) context.getSystemService(ADTIVITY_Service); String packageName = mActivityManager.getRunningTasks(1).topActivity.get(0).getPackageName();查看全部
举报
0/150
提交
取消