比如我用activity 对象 mainactivity 的context 获取了sharedpreferences对象,并putString(context, "demo", "aaaa"); 接着用service 对象 myservice 的 context 获取sharedpreferences对象,getString(context, "demo", "");这样得到的是"aaaa",是正确的,但是…
设置用户"NETWORK SERVICE"具有对文件夹的读取权限. 原帖地址: http://www.cnblogs.com/sjhrun2001/archive/2009/03/18/1415804.html 1 System.Security.AccessControl.DirectorySecurity fSec; 2  3 string path = "D:\\Test"; 4 fSec = new DirectorySecurity(); 5 //设置权限…
在Activity中可以直接使用Intent启动另一个Activity 显式Intent intent = new Intent(context, activity.class) 隐式 Intent intent = new Intent(“com.aa.www.act”); startActivity(intent); 如果从Service中用同样方法启动Activity 的话,会报错: android.util.AndroidRuntimeException: Calling startAc…
1:MainActivity.java public class MainActivity extends Activity { private TextView tvInfo = null; private BroadcastReceiver receiver = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV…
由于项目需要,我们有时候需要在service中处理耗时操作,然后将结果发送给activity以更新状态.通常情况下,我们只需要在一个service与一个activity之间通信,通常这种情况下,我们使用最多的是通过回调接口.具体做法是在service中定义一个接口,在activity中实现该接口,并通过bindservice来传入.实现方式很简单,在此不再赘述. 当需要将service中的结果一次发送给多个activity时,我们又该如何实现呢?经过多个项目的积累,总结了三种实现的方式.分别是回…
一.启动服务的两种方法方法: 第一种:  startService()和stopService()启动关闭服务.适用于服务和Activity之间没有调用交互的情况.如果相互之间需要方法调用或者传递参数,需要使用bindService()和unbindService()方法启动关闭服务.   第二种: 采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法,这个时候调用者和服务绑定在一起. 如果客户端要…
通过之前的学习,我们知道了在主线程中声明一个handler实例并实现了消息的处理方法之后,我可以在子线程中用此实例向主线程发消息,在处理方法中获取消息并更新UI. 那么,如果我们想用handler在service中向activity文件传递消息呢?在这里提供了两种方法 方法一: 在想接收消息的Activity中,把handler实例声明为静态的公用的,即 public static Handler handler; 由于为公用静态的成员变量,那么就可以以 activityname.handler…
我们研究两个问题,1.Service如何通过Broadcaster更改activity的一个TextView.(研究这个问题,考虑到Service从服务器端获得消息之后,将msg返回给activity) 2.Activity如何通过Binder调用Service的一个方法.(研究这个问题,考虑到与服务器端交互的动作,打包至Service,Activity只呈现界面,调用Service的方法) 结构图见如下:效果图如下:点击“start service”按钮,启动Service,然后更改Activ…
1.自定义一个接口,暴露服务中的方法 public interface IService {    /**服务中对外暴露的方法 */    void methodInService();} 2.自定一个服务类,继承service类 3.在服务类中新建内部类,继承Binder,实现自定义的接口,并在onBind()方法中返回内部类的实例 public class MyService extends Service { @Override    public IBinder onBind(Inten…
布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context…
深圳旅游月.终于回来了,做了很多个月,这些天来的东西会慢慢总结出来的.今天,我们正在谈论的Service小东西:沟通. 固定通信的做法比较,基本上按照写模板可以实现. 1.Service与Activity沟通 Activity通过startService()方法启动Service之后,Service将独立于Activity执行(尽管仍然是同一个进程),Activity无法指导Service怎样执行.当Activity须要依据一些条件决定Service怎样执行的时候.就须要有另外的方法了:将Ser…
在Android中,我们通常需要Activity跟Service进行通讯,很多人只知道Activity掉用Service,却不知道Service如何将数据返回给Activity.其实Service返回数据给Activity有很多种方法,1.广播.2.回调.3.Activity每隔几秒去取Service的方法等等.现在我们只讨论第二种方法.回调.举个例子,我们Activity里面有两个参数a 和b,这时需要计算a和b的和,但是不能在Activity里面计算.需要在Service里面去计算.这时计算…
分类:C#.Android.VS2015: 创建日期:2016-03-03 一.简介 如果服务是你的应用程序所私有的,即服务(Service)与客户端(Activity)都在同一个项目中(大部分应用程序的情况都是如此),这种服务称为本地服务. 对于本地服务,应该在继承自Binder的类中创建接口,并从重写的OnBind()方法中返回一个Binder的实例.客户端接收这个Binder对象并用它来直接访问Binder甚至Service中可用的公共(public)方法. 二.示例1运行截图   三.主…
Android开发中,一个Application,运行在一个进程中.这个Application的各种组件(四种组件),通常是运行在同一个进程中的.但是,并不是绝对的.由于某种需求,比如,你可以设置AppA的组件Activity_A,运行在另外一个进程(ProcessB),通过设置Activity_A的属性android:process来实现. 这是关于进程和组件方面的关系.这些信息,与接下来的资源回收有关.当系统内存不足的时候,系统会按照进程的优先级来kill部分进程,优先级越低的进程,优先被K…
参考博客:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html   http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html 直接上图: Activity 生命周期 Service生命周期: Activity和Service 交互:…
一. 绝大部分情况下,Service的作用是用来“执行”后台的.耗时的.重要的任务,三者缺一不可,而最重要的原因是第三点:要执行重要的任务. 因为当一个进程启动了Service后,进程的优先级变高了,系统除非在非常极端的情况下,不会杀掉该进程,反观Activity,不具备这样的特性. 如果没有满足上面所说的三点,请谨慎使用Service,千万别把使用Service的理由变成:这样可以常驻后台.从资源使用的角度来看,这是非常不可取的. 二. 1.Activity和Service的生命周期不一样,A…
Android有四大组件,其中包括service和activity,那么在使用的过程中,我们最常遇到的问题是他们之间的通信问题. 1.首先Activity调用Service 这个是比较基础的,它有两种常见的方法: 1. 通过Intent 可以指定package name和class name的方式来调用,Intent.setClassName这个成员即可.通过putString来装载数据,startService(intent)即可例子如下: Intent regIntent = new Int…
Application 的 context 不是万能的,所以也不能随便乱用,对于有些地方则必须使用 Activity 的 Context, 对于Application,Service,Activity三者的Context的应用场景如下: 其中: NO1表示 Application 和 Service 可以启动一个 Activity,不过需要创建一个新的 task 任务队列. 而对于 Dialog 而言,只有在 Activity 中才能创建. 简记:只有Activity才能显示Dialog,其它的…
IPC框架分析 Binder,Service,Service manager 我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念.从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC.Binder就是为了Activity通讯而设计的一个轻量级的IPC框架. 在代码分析中,我发现Android中只是把Binder理…
一.使用Service 1.什么是Service以及Service的配置项:  Service是Android组件的一种,派生自android.app.service类.它不提供交互界面,只是在后台运行,进行功能调度或提供数据支持. <!--android:enabled-是否启用,android:exported-是否导出--> <service android:name=".MyService" android:enabled="true" a…
前言 啦啦啦~各位好久不见啦~博主最近比较忙,而且最近一次实验也是刚刚结束~ 好了不废话了,直接进入我们这次的内容~ 在这篇博文里我们将学习Service(服务)的相关知识,学会使用 Service 进行后台工作, 学会使用 Service 与 Activity 进行通信,并在此知识基础上学会使用 MediaPlayer和简单的多线程编程.使用 Handle 更新 UI,并设计成功一个简单的音乐播放器. 是不是很高大上呢~一起来学习~ 基础知识 Service作为Android四大组件之一,在每…
Service是android四大组件之一,没有用户界面,一直在后台运行. 为什么使用Service启动新线程执行耗时任务,而不直接在Activity中启动一个子线程处理? 1.Activity会被用户退出,Activity所在的进程就变成了空进程(没有任何活动组件的进程),系统需要内存可能会优先终止该进程: 2.如果宿主进程被终止,那么该进程内所有的子线程也会被终止,这样可能导致子线程无法执行完成: 3.其实两种方式都是可以处理耗时任务的,使用场景不同而已. 一.通过Start方式启动Serv…
先首先简单介绍下Task和Activity的关系   Task就像一个容器,而Activity就相当与填充这个容器的东西,第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最上面.从Task中取出东西(Activity)是从最顶端取出,也就是说最先取出的是最后添加的东西(Activity),以此类推,最后取出的是第一次添加的Activity,而Activity在Task中的顺序是可以控制的,在Activity跳转时用到Intent Flag可以设置新建acti…
一.创建Service 1.创建一个myService类,来继承Service.重写其中的方法,包括:onCreate(),onStartCommend(),onDestroy(),onBind()方法是自动重载的. 1.1 onCreate():创建Service的时候调用,只调用一次. 1.2 onStartCommend():执行Service的时候调用,执行几次,调用几次. 1.3 onDestroy():在销毁Service的时候调用,只调用一次. 1.4 onBind():在bind…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435 相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了.Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色.它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务.必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持…
引言 Service 服务是 Android 系统最常用的四大部件之一,Android 支持 Service 服务的原因主要目的有两个,一是简化后台任务的实现,二是实现在同一台设备当中跨进程的远程信息通信.Service 服务主要分为 Local Service 本地服务与 Remote Service 远程服务两种,本地服务只支持同一进程内的应用程序进行访问,远程服务可通过AIDL(Android Interface Definition Language)技术支持跨进程访问.服务可以通过Co…
1.Activity的生命周期…
Service 简介: Service分为本地服务(LocalService)和远程服务(RemoteService): 1.本地服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL.相应bindService会方便很多.主进程被Kill后,服务便会终止. 2.远程服务为独立的进程,对应进程名格式为所在包名加上你指定的android:process字符串.由于是独立的进程,因此在Activity所在进程被Kill的时…
1.Android service的作用: service通常是用来处理一些耗时操作,或后台执行不提供用户交互界面的操作,例如:下载.播放音乐. 2.Android service的生命周期: service生命周期没有activity生命周期那么复杂,它只有onCreate().onStart().onDestroy()三个方法,当第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是…
应用场景: 1  用于将后台逻辑(Service中)和UI逻辑(Activity中)进行解耦,实现Service功能的复用,为其他程序提供功能. 2  后台功能,由于Activity在进入后台时(OnStop)不会占用CPU进行运算,而Service在后台会一直占用CPU,用Service可以达到多任务效果. 3  默认情况下,Service运行在主线程(UI线程)中,因此耗时的操作(下载)需要在Service新建线程处理或者使用异步(AsyncTask)的方式进行. 4  桌面widget的功…