PGzxc

纸上得来终觉浅 绝知此事要躬行

概述

Service全部内容基本会在本篇涉及到,我们将围绕以下主要知识点进行分析:

  • Service简单概述
  • Service在清单文件中的声明
  • Service启动服务实现方式及其详解
  • Service绑定服务的三种方式
  • 关于启动服务与绑定服务间的转换问题
  • 前台服务以及通知发送
  • 服务Service与线程Thread的区别
  • 管理服务声明周期的要点
  • Android5.0以上的隐式启动问题及其解决方案
  • 保证服务不被杀死的实现思路
阅读全文 »

介绍

Android O引入了通知渠道(Notification Channels),以提供统一的系统来帮助用户管理通知,如果是针对Android O为目标平台时,必须实现一个或者多个通知渠道,以向用户显示通知。若并不以Android O为目标平台,当应用运行在Android O设备上时,其行为将与运行在Android 7.0上时相同。

开发者可以为需要发送的每个不同的通知类型创建一个通知渠道。还可以创建通知渠道来反映应用的用户做出的选择。例如,可以为聊天应用的用户创建的每个聊天组建立单独的通知渠道。

Android O的用户可以使用一致的系统UI管理大多数与通知有关的设置。所有发布至通知渠道的通知都具有相同的行为。当用户修改任何下列特性的行为时,修改将作用于通知渠道;

阅读全文 »

前言

Android 7.0强制启用了被称作StrictMode的策略,带来的影响就是你的App对外无法暴露file://类型的URI了。

如果你使用Intent携带这样的URI去打开外部App(比如:打开系统相机拍照),那么会抛出FileUriException异常。
官方给出解决这个问题的方案,就是使用FileProvider:

阅读全文 »

前言

在使用Notification通知栏的时候,用TaskStackBuilder来获取PendingIntent处理点击跳转到别的Activity,首先是用一般的PendingIntent来进行跳转。

mBuilder = new NotificationCompat.Builder(this).setContent(view)  
    .setSmallIcon(R.drawable.icon).setTicker("新资讯")  
    .setWhen(System.currentTimeMillis())  
    .setOngoing(false)  
    .setAutoCancel(true);  
Intent intent = new Intent(this, NotificationShow.class);  
 PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,  
 intent, PendingIntent.FLAG_UPDATE_CURRENT);  
mBuilder.setContentIntent(pendingIntent);  
阅读全文 »
0%