博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android中activity向service中传值
阅读量:5012 次
发布时间:2019-06-12

本文共 879 字,大约阅读时间需要 2 分钟。

和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)传值。

转载于:https://www.cnblogs.com/to-creat/p/5682338.html

你可能感兴趣的文章
扫描识别控件Dynamic .NET TWAIN使用教程:如何将事件添加到应用程序中
查看>>
创建和修改主键 (SQL)
查看>>
2018-2019 ICPC, NEERC, Southern Subregional Contest(训练记录)
查看>>
20145233 《信息安全系统设计基础》第7周学习总结
查看>>
linux设备驱动程序第3版学习笔记(例程2--hellop.c)
查看>>
玩转storm
查看>>
深度优先搜索算法(DFS)以及leetCode的subsets II
查看>>
第10章 使用Apache服务部署静态网站
查看>>
关于给予webApp框架的开发工具
查看>>
c语言编写的生成泊松分布随机数
查看>>
Maven入门笔记
查看>>
算法面试通关40讲
查看>>
裸机离奇事件:Freescale usb 有关fault
查看>>
[转载]3521工程
查看>>
Python pandas ERROR 2006 (HY000): MySQL server has gone away
查看>>
Noip蒟蒻专用模板
查看>>
JAVA分词包
查看>>
iOS webView的常见属性和方法
查看>>
理解position:relative
查看>>
Codeforces Round #344 (Div. 2) Messager KMP的应用
查看>>