导航:首页 > 操作系统 > androidservices的启动

androidservices的启动

发布时间:2022-08-22 18:34:42

android service

Service,看名字就知道跟正常理解的“服务”差不多,后台运行,可交互这样的一个东西。它跟Activity的级别差不多,但是他不能自己运行,需要通过某一个Activity或者其他Context对象来调用, Context.startService() 和 Context.bindService()。 两种启动Service的方式有所不同。这里要说明一下的是如果你在Service的onCreate或者onStart做一些很耗时间的事情,最好在Service里启动一个线程来完成,因为Service是跑在主线程中,会影响到你的UI操作或者阻塞主线程中的其他事情。 什么时候需要Service呢?比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。

⑵ android上怎样让一个Service开机自动启动

Android开机启动Service,需要使用BroadcastReceiver,Android系统,开机会发送一个开机广播,可以通过BroadcastReceiver来接收开机广播。
具体代码:
1.在配置文件AndroidManifest.xml中向系统注册receiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>

2.需要添加相应权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

3.在Receiver中就可以添加开机需要进行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

}
}

4.执行开机后的操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 这样即可开机启动Service了。

⑶ Android如何实现开机自启动Service

请问,我使用自动启动的方式,想debug
Service里的代码内容,从我的log文件里面看,Receive已经接收到启动消息,并启动了Service,但是程序并没有停在断点位置,请问可能是什么缘故啊?

⑷ Android中怎么启动关闭Service及功能解释

调用startService就是启动service,调用stopService就是关闭service。

android中Service是运行在后台的东西,级别与activity差不多。既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西。可以启动一个服务Service来播放音乐,或者记录地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作。

服务一般分为两种:
1:本地服务, Local Service 用于应用程序内部。在Service可以调用Context.startService()启动,调用Context.stopService()结束。在内部可以调用Service.stopSelf() 或 Service.stopSelfResult()来自己停止。无论调用了多少次startService(),都只需调用一次stopService()来停止。
2:远程服务, Remote Service 用于android系统内部的应用程序之间。可以定义接口并把接口暴露出来,以便其他应用进行操作。客户端建立到服务对象的连接,并通过那个连接来调用服务。调用Context.bindService()方法建立连接,并启动,以调用 Context.unbindService()关闭连接。多个客户端可以绑定至同一个服务。如果服务此时还没有加载,bindService()会先加载它。

⑸ Android Application 里面怎么启动service

1.
Intent
intent
=
new
Intent(A.this,Service.class);
startService(intent);
在同一个应用任何地方调用
startService()
方法就能启动
Service
了,然后系统会回调
Service
类的
onCreate()
以及
onStart()
方法。这样启动的
Service
会一直运行在后台,直到
Context.stopService()
或者
selfStop()
方法被调用。另外如果一个
Service
已经被启动,其他代码再试图调用
startService()
方法,是不会执行
onCreate()
的,但会重新执行一次
onStart()

2.
Intent
intent
=
new
Intent(A.this,Service.class);
ServiceConnection
conn
=
new
ServiceConnection(){//逻辑操作};
bindService(intent,
conn,
Context.BIND_AUTO_CREATE);
bindService()
方法的意思是,把这个
Service
和调用
Service
的客户类绑起来,如果调用这个客户类被销毁,Service
也会被销毁。用这个方法的一个好处是,bindService()
方法执行后
Service
会回调上边提到的
onBind()
方发,你可以从这里返回一个实现了
IBind
接口的类,在客户端操作这个类就能和这个服务通信了,比如得到
Service
运行的状态或其他操作。如果
Service
还没有运行,使用这个方法启动
Service
就会
onCreate()
方法而不会调用
onStart()。
区别概况为:
startService()
的调用者与服务没有联系,即使调用者退出了,服务仍然运行,而bindService()
的调用者与服务绑在一起,调用者一旦退出了,服务也随即终止掉。

⑹ 怎么开发android service 开机启动

第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class BootBroadcastReceiver extends BroadcastReceiver {
//重写onReceive方法
@Override
public void onReceive(Context context, Intent intent) {
//后边的XXX.class就是要启动的服务
Intent service = new Intent(context,XXXclass);
context.startService(service);
Log.v("TAG", "开机自动服务自动启动.....");
//启动应用,参数为需要自动启动的应用的包名
Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
context.startActivity(intent );
}

}
第二步:配置xml文件,在receiver接收这种添加intent-filter配置
<receiver android:name="BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
第三步:添加权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

⑺ 原创:Android怎么让一个service开机自动启动

Android开机启动Service,需要使用BroadcastReceiver,Android系统,开机会发送一个开机广播,可以通过BroadcastReceiver来接收开机广播。
具体代码:
1.在配置文件AndroidManifest.xml中向系统注册receiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>

2.需要添加相应权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

3.在Receiver中就可以添加开机需要进行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

}
}

4.执行开机后的操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 这样即可开机启动Service了。
分享
本回答由电脑网络分类达人 孟男男认证
2015-02-05 18:47
#芝麻嘉年华,给你不一样的新春惊喜!#
提问者采纳
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<!-- 开机启动 -->
<receiver android:name=".BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
public class BootBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

安卓怎么自动启动service

1、首先创建一个广播接收者,重构其抽象方法onReceive(Context context, Intent intent),在其中启动你想要启动的Service。import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class BootBroadcastReceiver extends BroadcastReceiver {
//重写onReceive方法
@Override
public void onReceive(Context context, Intent intent) {
//后边的XXX.class就是要启动的服务
Intent service = new Intent(context,XXXclass);
context.startService(service);
Log.v("TAG", "开机自动服务自动启动.....");

}

}
配置xml文件,在receiver接收这种添加intent-filter配置
<receiver android:name="BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
添加权限处理
<!--此权限在高版本中可以省略,你可以测试-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
创建你需要启动的service处理(的XXX)类,并在androidMainfest.xml文件中添加(XXX)service的配置即可。

⑼ android中当Service在运行时怎么重启Service

只需要重新startService即可重新调用service的onStart()。

  1. Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过<service>来声明。可以通过contect.startservice和contect.bindserverice来启动。

  2. Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。


service的两种模式(startService()/bindService() :

1.本地服务 Local Service 用于应用程序内部。

它可以启动并运行,直至有人停止了它或它自己停止。在这种方式下,它以调用Context.startService()启动,而以调用Context.stopService()结束。它可以调用Service.stopSelf() 或 Service.stopSelfResult()来自己停止。不论调用了多少次startService()方法,你只需要调用一次stopService()来停止服务。

用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。


2.远程服务 Remote Service 用于android系统内部的应用程序之间。

它可以通过自己定义并暴露出来的接口进行程序操作。客户端建立一个到服务对象的连接,并通过那个连接来调用服务。连接以调用Context.bindService()方法建立,以调用 Context.unbindService()关闭。多个客户端可以绑定至同一个服务。如果服务此时还没有加载,bindService()会先加载它。

⑽ Android如何启用Service,如何停用Service。

1.第一种是通过调用Context.startService()启动,调用Context.stopService()结束,startService()可以传递参数给Service
2.第二种方式是通过调用Context.bindService()启动,调用Context.unbindservice()结束,还可以通过ServiceConnection访问Service。
在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestory在一个生命周期中只能被调用一次。

阅读全文

与androidservices的启动相关的资料

热点内容
同一文件名怎么提取到一个文件夹 浏览:822
单片机定时器对照表 浏览:733
小孩坐绿皮火车睡着了去了外国的电影 浏览:919
一个女的在秋千上夹葡萄 浏览:415
绿色无安装执行程序如何加密 浏览:937
加密狗如何退 浏览:268
以欧美小孩为主角的电影 浏览:269
android点赞功能 浏览:329
露鸟同志电影 浏览:281
《外出》未删减版韩国 浏览:16
外出完整140分钟版本 浏览:728
香港电影走光 浏览:328
初级初中生编程 浏览:698
在阿姨鬼混还是鬼片 浏览:127
老年人爱爱的电影 浏览:900
与365dni类似的电影推荐 浏览:986
服务器上的soc什么意思 浏览:885
朱艺彬年轻的姐夫 浏览:396
怎么删除梅花视频 浏览:361
寻缘app在哪里下载 浏览:301