安卓 service

摘要:
publicclassMyServiceextendsService{publicMyService(){}@OverridepublicIBinderonBind(Intentintent){//TODO:Returnthecommunicationchanneltotheservice.//thrownewUnsupportedOperationException("Notyetimpleme
public class MyService extendsService {
    publicMyService() {
    }

    @Override
    publicIBinder onBind(Intent intent) {
        //TODO: Return the communication channel to the service.
        //throw new UnsupportedOperationException("Not yet implemented");
        return new Binder();  //这里必须要返回一个Binder实例
}
    
    //服务启动
@Override
    public void onStart(Intent intent, intstartId) {
        super.onStart(intent, startId);
    }

    //服务销毁
@Override
    public voidonDestroy() {
        super.onDestroy();
    }

    //服务开始的时候 执行的方法
@Override
    public int onStartCommand(Intent intent, int flags, intstartId) {
        System.out.print("服务正在执行.....");
        newThread() {
            @Override
            public voidrun() {
                super.run();

                while (true) {
                    System.out.print("服务正在执行....");
                    try{
                        sleep(2000);
                    } catch(InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
        return super.onStartCommand(intent, flags, startId);
    }
}
public class MainActivity extends AppCompatActivity implementsServiceConnection {

    privateTextView tv;

    @Override
    protected voidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);  //创建视图
        //setContentView(R.layout.my_layout);

        this.setContentView(R.layout.my_layout);

        //启动服务
        findViewById(R.id.btnStartServcie).setOnClickListener(newView.OnClickListener() {
            @Override
            public voidonClick(View v) {

                System.out.print("服务开始执行......");
                Intent i = new Intent(MainActivity.this, MyService.class);
                startService(i);
            }
        });
        //停止服务
        this.findViewById(R.id.btnStopServcie).setOnClickListener(newView.OnClickListener() {
            @Override
            public voidonClick(View v) {
                Intent i = new Intent(MainActivity.this, MyService.class);
                stopService(i);
            }
        });


        //btnBindServcie 绑定service
        this.findViewById(R.id.btnBindServcie).setOnClickListener(newView.OnClickListener() {
            @Override
            public voidonClick(View v) {
                Intent i = new Intent(MainActivity.this, MyService.class);
                //这里的MainActivity必须要实现ServiceConnection 重写onServiceConnected 和 onServiceDisconnected 方法
                bindService(i, MainActivity.this, Context.BIND_AUTO_CREATE);
            }
        });

        //btnBindServcie 解除绑定service
        this.findViewById(R.id.btnUnBindServcie).setOnClickListener(newView.OnClickListener() {
            @Override
            public voidonClick(View v) {
                Intent i = new Intent(MainActivity.this, MyService.class);
                unbindService(MainActivity.this);
            }
        });

        System.out.println("onCreate");
    }
    @Override
    protected voidonStart() {
        super.onStart();
        System.out.println("onStart");
    }

    @Override
    protected voidonResume() {
        super.onResume();
        System.out.println("onResume");
    }

    @Override
    protected voidonPause() {
        super.onPause();
        System.out.println("onPause");
    }

    @Override
    protected voidonStop() {
        super.onStop();
        System.out.println("onStop");
    }

    @Override
    protected voidonDestroy() {
        super.onDestroy();
        System.out.println("onDestroy");
    }

    @Override
    protected voidonRestart() {
        super.onRestart();
        System.out.println("onRestart");
    }


    //服务被绑定成功后被执行
@Override
    public voidonServiceConnected(ComponentName name, IBinder service) {
        System.out.print("service connected");
    }


    //服务被杀掉后执行
@Override
    public voidonServiceDisconnected(ComponentName name) {
        System.out.print("service DisConnected");
    }
}

这块不好理解,这个只能在以后的项目里面好好理解了。

免责声明:文章转载自《安卓 service》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇NVIDIA DeepStream 5.0构建智能视频分析应用程序GO的下载和环境配置,Goland编译器的配置和初始化项目下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android学习——隐式Activity

使用隐式的Intent 含蓄,不指名道姓,不会指明那个Activity必须被哪个Activity所启动。 一个Activity2如何被另一个Activity1所启动,关键取决于AndroidManifest.xml中对于Activity2定义的两个标签的信息,分别是action和category。 1 <activity android:name="...

unity 游戏第一次安装完之后运行,切出来,点击桌面图标后黑屏问题

unity 游戏第一次安装完之后运行,切出来,点击桌面图标后黑屏问题 这个问题只会在第一次出现,之后就是桌面进入了,不会再出现这个问题了 这是一个解决办法吧: 就是将安装之后运行的游戏杀死,然后在重新进入游戏,  // 在onCreate()最前面添加一下代码 if (!isTaskRoot()) { final Intent intent = g...

【Activity、service】点击不同的图片播放不同的声音

      一下,我只把主要的代码贴出来给大家,如果哪里写的不好,希望大家能多多指教,灰常感谢。  /** 定义播放小孩声音的ACTION */ public static String SOUND_ACTION = "com.vtion.ym.box.sound"; XxxActivity.java    Activity里面中的代码 View Cod...

Android活动的启动模式

1. standard   标准模式,是活动默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种模式。   Android使用返回栈管理活动,在standard模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处在栈顶位置。   例如: 1 public class FirstActivity extends AppCompatAct...

Calendar Provider

英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 关键类 CalendarContract.Calendars CalendarContract.Events CalendarContract.Attendees CalendarContrac...

android category

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。 原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/ 通过使用Intent-Filter中的<c...