博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
activity 和service通信,调用service方法
阅读量:6230 次
发布时间:2019-06-21

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

hot3.png

package com.evt.services;import java.io.FileDescriptor;import java.io.PrintWriter;import com.evt.MyApplication;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBinder;import android.util.Log;public class ServicesUpload extends Service {	// 进度条最大值	public static final int max_progress = 100;	// 进度条进度值	private int progress = 0;	public int getProgress() {		return progress;	}	public void setProgress(int progress) {		this.progress = progress;	}	/**	 * 模拟下载任务,每秒钟更新一次	 */	public void startDownLoad() {		Log.d(MyApplication.TAG, "开始下载");		new Thread(new Runnable() {			@Override			public void run() {				while (progress < max_progress) {					progress += 5;					try {						Thread.sleep(1000);						Log.d(MyApplication.TAG, "线程睡眠一秒钟");					} catch (InterruptedException e) {						e.printStackTrace();					}				}			}		}).start();	}	@Override	public IBinder onBind(Intent intent) {		// TODO Auto-generated method stub		return new ServicesUploadBinder();	}	public class ServicesUploadBinder extends Binder {		public ServicesUpload getServicesUpload() {			return ServicesUpload.this;		}	}	@Override	protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {		// TODO Auto-generated method stub		super.dump(fd, writer, args);	}	@Override	public void onCreate() {		// TODO Auto-generated method stub		super.onCreate();		Log.d(MyApplication.TAG, "上传服务启动");	}	@Override	public void onDestroy() {		// TODO Auto-generated method stub		super.onDestroy();		Log.d(MyApplication.TAG, "上传服务销毁");	}

}

 <!-- 上传服务 -->         <service             android:name="com.evt.services.ServicesUpload"             android:enabled="true"             android:exported="false" >             <intent-filter>                 <action android:name="com.evt.services.ServicesUpload" />             </intent-filter>         </service>

activity中:

private ServicesUpload servicesUpload; // 上传服务

Intent intent = new Intent("com.evt.services.ServicesUpload"); bindService(intent, conn, Context.BIND_AUTO_CREATE);

ServiceConnection conn = new ServiceConnection() { @Override public void onServiceConnected(ComponentName arg0, IBinder arg1) { // TODO Auto-generated method stub servicesUpload = ((ServicesUpload.ServicesUploadBinder) arg1) .getServicesUpload(); } @Override public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub } }; @Override protected void onDestroy() { // TODO Auto-generated method stub unbindService(conn); super.onDestroy(); }

调用方法:

servicesUpload.startDownLoad();

转载于:https://my.oschina.net/bv10000/blog/354404

你可能感兴趣的文章
Rust初步(七):格式化
查看>>
微服务架构的设计模式
查看>>
【C++】继承时构造函数和析构函数
查看>>
python风味之大杂烩
查看>>
NSDate & NSDateFormatter
查看>>
android 点击屏幕关闭 软键盘
查看>>
相似图片搜索的原理(转)
查看>>
钟南山:高收入群体往往老得快
查看>>
Linux Kernel(Android) 加密算法汇总(三)-应用程序调用内核加密算法接口
查看>>
开发中三个经典的原则
查看>>
logging日志管理-将日志写入文件
查看>>
Hibernate 、Hql查询和Criteria查询
查看>>
滚动条滚动到底部触发事件
查看>>
『SharePoint 2010』Sharepoint 2010 Form 身份认证的实现(基于SQL)
查看>>
python之模块pydoc
查看>>
ASP.NET MVC 下拉列表使用小结
查看>>
nodejs基础 -- NPM 使用介绍
查看>>
Loadrunner中关联的作用:
查看>>
(转)BT1120接口及协议
查看>>
Robot Framework与Web界面自动化测试学习笔记:定位到新窗口
查看>>