Android Service向Activity传参数和数据
来源:互联网 发布:问卷调查数据怎么分析 编辑:程序博客网 时间:2024/04/29 11:20
作为Android开发人员来说,Activity 向Service传数据很容易,用Intent跳转的时候携带数据,但是Service向Activity传数据对于刚接触可能相对有点难度,所以,此篇博客记录下Service向Activity用广播传值。
Android中Service向Activity传值有三种,分别是 用广播、Service回调、aidl,这是我知道的,如果还有其他方法,我们一块学习。今天先介绍用广播传值的,不多说,上代码!
1、MainActivity.java
public class MainActivity extends AppCompatActivity { private TextView textView=null; private MyReceiver receiver=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView)findViewById(R.id.tv); //启动服务 startService(new Intent(MainActivity.this, MyService.class)); //注册广播接收器 receiver=new MyReceiver(); IntentFilter filter=new IntentFilter(); filter.addAction("com.project.moli.demobroad.MyService"); MainActivity.this.registerReceiver(receiver,filter); } @Override protected void onDestroy() { //结束服务 stopService(new Intent(MainActivity.this, MyService.class)); super.onDestroy(); } public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle bundle=intent.getExtras(); int count=bundle.getInt("count"); textView.setText(count+""); } }}
2、MyService.java
public class MyService extends Service { public MyService() { } private int count = 0; private boolean tag=false; @Override public void onCreate() { super.onCreate(); new Thread(new Runnable() { @Override public void run() { while (!tag) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } count++; Log.v("MyService", "Count is " + count); //发送广播 Intent intent=new Intent(); intent.putExtra("count", count); intent.setAction("com.project.moli.demobroad.MyService"); sendBroadcast(intent); } } }).start(); } @Override public IBinder onBind(Intent intent) { return null; } @Override public void onDestroy() { super.onDestroy(); count=0; tag = true; Log.v("MyService", "on destroy"); }}
3、AndroidManifests.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.project.moli.demobroad"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name=".MyService" android:enabled="true" android:exported="true"></service> </application></manifest>
4、附上图片
今天先说一种,后面我会继续更新其他的方法!我基本上都会附上全部代码,如果对你有帮助,请关注!
附上博主QQ :1687973451
共同学习交流
1 0
- Android Service向Activity传参数和数据
- android 在service中如何向activity传递数据
- Android bind 回调实现Service向activity传递数据
- Android bind 回调实现Service向activity传递数据
- Android Service和activity实现数据共享
- Android Studio开发基础之启动Service,并通过从Activity向Service传递数据
- Service实时向Activity传递数据案例
- Service实时向Activity传递数据案例
- Service实时向Activity传递数据案例
- android中activity向service中传值
- Android开发学习之路-回调实现Service向activity传递数据
- Android如何在Activity和Service之间传递数据
- Android如何在Activity和Service之间传递数据
- android bindservice以及activity和service传递数据
- Android的Activity和Service
- Android Service和Activity通信
- 安卓Service向Activity传递数据,更新UI
- android Activity和fragment通信之activity向Fragment发送数据
- 清除模拟器运行产生的文件,释放空间
- Learning a Part of C++(for ACM/ICPC) (6) STL算法
- 启动Intel TV-x设置
- quartus的Error Can't place multiple pins assigned to pin locatio解决办法
- 思维 2017.4.23
- Android Service向Activity传参数和数据
- 狼文化的一点思考
- Learning a Part of C++(for ACM/ICPC) (7) STL中的string和bitset
- RNA-seq experiment
- 应用程序调用excel 失败
- AndroidStuido 使用教程(一)
- Mina 实现TCP、UDP、串口功能
- EXCEL教程大全(史上最全)
- Hibernate 二级缓存