android启动第三方sevice,Android开发之通过Intent启动其他App的Service

在Android5.0以前可以通过隐式Intent方式启动其他App的Service,就跟Activity启动隐式Intent一样的。

但是在5.0以后,只能使用显示的Intent方式启动了。

启动其他App的Service,需要用到Intent的setComponent()方法。该方法需要传入ComponentName component 这个参数。

参数的解释:component, The name of the application component to handle the intent, or null to let the system find one for you.

代码:

Intent serviceIntent;

private Button btnstartService;

private Button btnstopService;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

serviceIntent=new Intent();

serviceIntent.setComponent(new ComponentName("com.example.startservicefromanotherapp", "com.example.startservicefromanotherapp.AppService"));

btnstartService=(Button) findViewById(R.id.btnStartService);

btnstopService=(Button) findViewById(R.id.btnStopService);

btnstartService.setOnClickListener(this);

btnstopService.setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.btnStartService:

startService(serviceIntent);

break;

case R.id.btnStopService:

stopService(serviceIntent);

break;

}

}

这样就能启动其他App的Service。但是需要先设置其他App的Service的

android:exported="true"

否则会报错, java.lang.SecurityException: Not allowed to start service Intent { cmp=com.example.startservicefromanotherapp/.AppService } without permission not exported from uid 10075

提示没有权限。

Android开发之通过Intent启动系统应用的协议

使用隐式Intent启动系统应用,除了http协议,还有geo(显示地理位置),tel(拨打电话),file(文件)等

Android开发:怎样隐藏自己的app应用

本文主要介绍怎样通过改动AndroidManifest.xml清单文件来达到隐藏自身应用的目的,不是隐藏第三方应用.为了不浪费大家时间.特此说明. 转载请注明作者xiong_it和链接:http:// ...

Android开发-API指南-Intent和Intent过滤器

Intents and Intent Filters 英文原文:http://developer.android.com/guide/components/intents-filters.html 采 ...

Android开发3:Intent、Bundle的使用和ListView的应用 、RelativeLayout(相对布局)简述(简单通讯录的实现)

前言 啦啦啦~博主又来骚扰大家啦~大家是不是感觉上次的Android开发博文有点长呢~主要是因为博主也是小白,在做实验的过程中查询了很多很多概念,努力去理解每一个知识点,才完成了最终的实验.还有就是随 ...

Android开发学习之Intent具体解释

Intent简单介绍和具体解释:           Intent:协助应用间的交互与通信,Intent负责相应用中一次操作的动作.动作涉及的数据.附加数据进行描写叙述.               ...

Android开发中使用Intent跳转到系统应用中的拨号界面、联系人界面、短信界面

现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: Intent intent =new Intent(); intent. ...

【Android开发那点破事】打开APP加载页面实现

今天的破事呢就说说APP加载页面的实现.一般情况下,当APP打开的时候,我们需要做很多事情,比如检查网络连接啊,初始化一些配置啊等等.我们可以让这些事情在APP完全打开之前做完,然后呢在打开的过程中显 ...

Android开发值利用Intent进行put传值,setclass启动activity,并用get进行取值

传值方法一 [java] Intent intent = new Intent(); Bundle bundle = new Bundle(); //该类用作携带数据 bundle.putString ...

Android 开发 8.0版本启动Service的方法

前言  google在更新Android8.0后对Service的权限越发收紧.导致目前想要启动服务必需实现服务的前台化(否则在服务启动5秒后,系统将自动报错).下面我们就来看看如何在8.0上启动服务 ...

随机推荐

ABP理论学习之SignalR集成

返回总目录 本篇目录 介绍 安装 建立连接 内置功能 你自己的SignaR代码 介绍 Abp.Web.SignalR 使得在基于ABP的应用程序中使用 SignalR相当容易.查看SignalR文档获 ...

日常开发使用GIT命令

git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...

iOS 为移动中的UIView(UIButton )添加点击事件

高高兴兴迎接新的产品新需求,满心欢喜的开始工作,结果研究了一下午才发现,是自己想的太简单了,是我太单纯呀. 需求是这样的类似下雪的效果,随机产生一些小雪花,然后每个雪花可以点击到下个页面. 接到需求之 ...

JAVA反射机制(转)

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性: 这种动态获取的信息以及动态调用对象的方法的功能称为java语言 ...

matlab语言基础

(一)常用命令 清空命令窗口:clc 清空工作空间:clear 打开editor:edit 查看函数的帮助信息:help 函数名  让命令窗口信息紧凑显示:format compact (二)变量与常 ...

jquery控制按钮的禁用与启用

jquery禁用a标签方法1: $(document).ready(function () { $("a").each(function () { var textValue = ...

Kafka中操作topic时 Error:Failed to parse the broker info from zookeeper

Kafka中操作topic时 Error: Failed to parse the broker info from zookeeper 1.问题描述   2.问题原因     kafka在启动后 ...

requireJs 踩的坑

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值