• android中activity向service中传值


    和activity中互相传值类似

    在activity中

    Intent regIntent = new Intent(this, ChatService.class);
      regIntent.putExtra("student_id", student_id);
      startService(regIntent);

    然后再service中的onStart函数中获取该值

    student_id=intent.getStringExtra("student_id");
      System.out.println("sevice_student_id---------------"+student_id);

    当然写到这里还是不能传的,不然会报错!!!

    我们需要在Mainfeist文件中注册这个service

    销毁Service写在activity的onDestroy方法里:

     @Override
     protected void onDestroy() {
       ChatActivity.this.stopService(new
       Intent(ChatActivity.this,
       ChatService.class));
      super.onDestroy();
     }

    补充:

    也可以从public int onStartCommand(Intent intent, int flags, int startId)中取出从activity中传过来的值。intent.getExtra()获得bundle对象,可从中取值。
    也可以用bindService(intent, conn,BIND_AUTO_CREATE);传值,把要传的值绑定在intent里,在service的public IBinder onBind(Intent intent) 方法里取得intent。
    可以在service里面注册一个广播,在activity里sendbroadcast(intent)传值。

  • 相关阅读:
    Mysql 从入门到遗忘
    Centos7开放及查看端口
    创建及修改数据库
    02_python是一种什么语言?
    03_SQL server数据类型
    02_关系数据库
    01_初识数据库
    kali 更新源
    01_Python简介
    Alertmanager高可用
  • 原文地址:https://www.cnblogs.com/to-creat/p/5682338.html
Copyright © 2020-2023  润新知