BroadcastReceiver+Service .开机启动服务
来源:互联网 发布:电信4g网络差 编辑:程序博客网 时间:2024/05/17 02:02
public class MyBroadcastReceiver extends BroadcastReceiver { private static final String TAG = "MyBroadcastReceiver"; private static final String ACTION = "android.media.AUDIO_BECOMING_NOISY"; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION)) { Intent service = new Intent(context, MyService.class); context.startService(service); } }}
1## 首先注册个广播接受者指定要跳转的服务。
public class MyService extends Service { private static final String TAG = "MyService"; /** * 绑定服务时才会调用 * 必须要实现的方法 */ @Nullable @Override public IBinder onBind(Intent intent) { return null; } /** * 首次创建服务时,系统将调用此方法来执行一次性设置程序 * (在调用 onStartCommand() 或 onBind() 之前)。 * 如果服务已在运行,则不会调用此方法。该方法只被调用一次 */ @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override public void onCreate() { super.onCreate(); Log.i(TAG, "这里是消息通知栏"); Notification notification = new Notification.Builder(this) .setContentTitle("有新消息啦!") .setContentText("这里是ContentText") .setTicker("显示第二个通知") //点击通知跳转到程序// .setContentIntent(PendingIntent.getActivity(this, 0,// new Intent(this, MainActivity.class), 0))// .setAutoCancel(true)//打开程序后图标消失 .setSmallIcon(R.mipmap.ic_launcher) .build(); //设置为前台服务 startForeground(1, notification); } /** * 每次通过startService()方法启动Service时都会被回调。 */ @Override public int onStartCommand(final Intent intent, int flags, final int startId) { Log.i(TAG, "onStartCommand called."); return super.onStartCommand(intent, flags, startId); } /** * 服务销毁时的回调 */ @Override public void onDestroy() { super.onDestroy(); Log.i(TAG, "onDestroy() executed"); } /** * 创建Binder对象,返回给客户端即Activity使用,提供数据交换的接口 */ public class MyBinder extends Binder { // 声明一个方法(提供给客户端调用) void startDownload() { new Thread(new Runnable() { @Override public void run() { // 执行具体的下载任务 Log.i(TAG, "startDownload() executed"); } }).start(); } }}
2 ##这是自定义的服务内容,仅仅一个前台服务而已
<!-- 开机广播接受者 --> <receiver android:name=".MyBroadcastReceiver"> <intent-filter android:priority="1000"> <!-- 注册开机广播地址--> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.media.AUDIO_BECOMING_NOISY" /> </intent-filter> </receiver> <!-- 消息推送服务 --> <service android:name=".MyService" />
3 ##在Manifest.xml文件里注册广播和服务,并添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
阅读全文
0 0
- BroadcastReceiver+Service .开机启动服务
- android用服务service与广播broadcastreceiver创建开机启动服务
- BroadcastReceiver开机启动Service或Activity[转]
- 开机自启动服务Service
- 开机启动服务service示例
- 使用BroadcastReceiver实现开机启动Service或Activity
- 使用BroadcastReceiver实现开机启动Service或Activity
- 使用BroadcastReceiver实现开机启动Service或Activity
- 使用BroadcastReceiver实现开机启动Service或Activity
- android 使用BroadcastReceiver实现开机启动Service或Activity
- 使用BroadcastReceiver实现开机启动Service或Activity
- 通过BroadcastReceiver和 service 实现开机自动启动
- android之手机开机启动Service服务
- android 开机启动服务service的开发
- BroadcastReceiver开机启动
- linux服务(daemon and service)- 设置开机启动服务
- Android的四大组件之二--BroadcastReceiver(相关内容,开机启动Service)
- Android的四大组件之二--BroadcastReceiver(相关内容,开机启动Service)
- Mysql--取某个范围内随机日期
- JAVA--fastJSON+自定义注解格式化实体字段
- Stall Reservations(贪心,****思路理顺)
- 初步了解css中的 浮动和浮动清除的原理
- IntelliJ IDEA 怎么热部署,每次修改java文件就得重启tomcat的解决办法
- BroadcastReceiver+Service .开机启动服务
- 一种c++不在运行时检查出错的方法
- ubuntu 17.04 64位安装winqq
- spring+springmvc+mybatis(3)--逆向工程自动生成代码
- 关于Spring中的<context:annotation-config/>配置
- maven项目中修改默认显示jre版本
- 数据体系建设的开端,该如何规划平台?
- 解决Hibernate页面的延迟加载
- (已解决)最近打开浏览器总是先打开 http://hao934.com/然后 跳转到 hao123 用各种修复无效