android5.0隐式启动服务

study_zhxu study_zhxu     2022-12-05     577

关键词:

Android5.0隐式启动服务

在Android 5.0中系统禁止我们通过隐式意图启动service,如果通过隐式意图启动会报异常,所以需要通过显式意图启动service,如果要被启动的服务在本应用中,还可以通过显式意图启动,但是如果是要启动其他应用的service,那么如何通过显式意图来启动呢?下面介绍一个方法用于通过显示意图启动其他应用中的service

public static Intent getExplicitIntent(Context context, Intent implicitIntent) 

        PackageManager pm = context.getPackageManager();

        // 返回给定条件的所有ResolveInfo对象(本质上是Service)
        List<ResolveInfo> resolveInfo = pm.queryIntentServices(implicitIntent, 0);
        // 确保只有一个service匹配
        if (resolveInfo == null || resolveInfo.size() != 1) 
            return null;
        
        //获取component信息并创建ComponentName
        ResolveInfo serviceInfo = resolveInfo.get(0);
        //获取Service所在的包名
        String packageName = serviceInfo.serviceInfo.packageName;
        //获取Service的名称
        String className = serviceInfo.serviceInfo.name;
        // 通过包名和service的类名创建component
        //ComponentName用于指定打开其他应用的activity和service
        ComponentName component = new ComponentName(packageName, className);
        // 创建新的intent
        Intent explicitIntent = new Intent(implicitIntent);
        // 为intent设置指定的组件
        explicitIntent.setComponent(component);
        return explicitIntent;
    

通过该方法可以实现显式意图启动其他应用中的service

QQ交流群

微信公众号:Android在路上,欢迎关注

跨应用启动service并传递数据

启动:在Android5.0之前可以通过隐式intent启动服务,但是Android5.0之后不可以了。在两个Application之间是不可能获取到Service的定义的,需要调用SetComponent函数:serviceIntent=newIntent();serviceIntent.setComponent(newComponentName("com.wanxiang.www.starts 查看详情

android5.0创建多用户双开多开应用

上一讲讲了如何创建一个userandroid5.0创建多用户双开多开应用(1)为什么要创建User 例如window系统创建了一个user会在当前用户下进行操作,而android多用户体系就像window系统创建了一个user之后在当前user下进行操作,就可以再... 查看详情

android5.0创建多用户双开多开应用

Andriod5.0多用户双开应用android多用户是5.0之后有的,类似windows的账户系统不过官方还没有完全确认,API大都是hide状态我这里提供一种方式并不适用所有的,由于我们有定制化手机,所以有定制化的服务可以开发,所以只需要将... 查看详情

activity之隐式启动

action:当有多个action匹配隐式启动时会弹出选择框categroy:动作执行环境Launcher属性通常与main配合使用Defalut:按照普通的执行顺序。 查看详情

intent显示启动与隐式启动

Android的Acitivity启动大致有两种方式:显式启动与隐式启动。下面分别介绍:1.显示启动:清单文件注册Activity<activityandroid:name="com.example.intentmethod.XianshiActivity"android:label="@string/xianshi_label"></activity> &nbs 查看详情

谁知道android5.0的状态栏布局文件。????

您好,问题不奇怪,TextView的尺寸是会变小。这样解释:控件有两类非常重要的属性,坐标:x,y;尺寸:width,height.控件其实是一些矩形框,这两类属性确定了后,就可以在Canvas上画出这个矩形了。清楚这一点后,就要知道android怎么确... 查看详情

显式启动activity和隐式启动activity

1.显式启动Intentintent=newIntent(this,class);startActivity(intent); 2.隐式启动AndroidManifest.xml中定义某个Activity的intent-fliter<intent-filter><actionandroid:name="com.example.activity.ACTION_START" 查看详情

显式intent与隐式intent的使用

Android中的显式Intent与隐式Intent的使用Intent是Android程序中各个组件中间进行交互的一种重要方式,它不仅仅可以指明当前组件想要执行的动作,还可以在不同组件之前传递数据。Intent一般可以被用于启动活动、启动服务以... 查看详情

使用android5.0的camerav2拍照

Android5.0对拍照API进行了全新的设计,新增了全新设计的Camerav2API,这些API不仅大幅提高了Android系统拍照的功能,还能支持RAW照片输出,甚至允许程序调整相机的对焦模式、曝光模式、快门等。Android5.0的Camerav2主要... 查看详情

android服务的限制

...于这个理解,我们将限制分成了前台和后台两个部分:从Android5.0(API级别21)开始,如果使用隐式Intent调用bindService(),则系统会抛出异常。为确保应用的安全性,在启动Service时,请始终使用显式Intent,且不要为服务声明Intent过... 查看详情

android5.0框架层短信接收过程分析(代码片段)

本文分析使用的是android5.0的源代码,涉及的相关文件:frameworks\\opt\\telephony\\src\\java\\com\\android\\internal\\telephony\\RIL.javaframeworks\\base\\core\\java\\com\\android\\internal\\util\\StateMachine. 查看详情

解决android5.0以上button自带阴影的问题(代码片段)

解决Android5.0以上Button自带阴影的问题自定义个Button的Style,继承@style/Widget.AppCompat.Button.Borderless样式即可。<stylename="MyButtonStyle"parent="@style/Widget.AppCompat.Button.Borderless&# 查看详情

android5.0+camera专栏终结

...。qq:1037701636email:gzzaigcn2009@163.comSoftware:系统源码Android5.1寥寥几笔写在开头:甚是惭愧,没有一直从事Androidcamera领域,没有来结束这个专栏。2021/5/24日,近 查看详情

android5.0受欢迎的api简介

android5.0作为系统的一次重大升级,给用户和开发者带来了全新的体验。MaterialDesign不但在视觉和操作上更胜一筹,扩展UI工具包同时也引入了大量新的API。1.3D视图和实时阴影:只要重新设定elevation,图像下的实时阴影就会出现,... 查看详情

隐式启动判断是否有匹配的intent

一、PackageManager的resolveActivitypublicabstractResolveInforesolveActivity(Intentintent,intflags);getPackageManager().resolveActivity(); 返回能够匹配的Intent,如果不能匹配就返回NULL,二、PackageManager的queryIntentActi 查看详情

WifiManager:Android 5.0.2 中的频道连接丢失并重新启动

】WifiManager:Android5.0.2中的频道连接丢失并重新启动【英文标题】:WifiManager:ChannelconnectionlostinAndroid5.0.2andreboot【发布时间】:2015-03-3107:54:40【问题描述】:我正在尝试创建WiFip2pGroupOwner。在logcat中的一个非特定时刻出现短语“Wif... 查看详情

macbookyosemite10.10.4编译android5.0

https://medium.com/@raminmahmoodi/build-android-5-0-lollipop-on-osx-10-10-yosemite-441bd00ee77a按照上来链接的博客内容设置编译环境,因为10.10所用的Xcode6.4,但是编译Android需要的Xcode比较老,因此需要修改Xcode的CommandLineTools的版本,如果有网络条件自... 查看详情

sh如何导出领域数据库,在android5.0+上工作(代码片段)

查看详情