android调用系统服务

Android9.0系统中添加自定义系统服务给APP调用 软件平台:Android9.0 硬件平台:Mtk8175 近日开发了一个产品需求,APP端需要控制硬件LED灯,由于是多个APP需要调用,固计划将控制接口做成System Service级别的服务,APP可以通过跨进程调用相关的方法,话不多说,开干: 1、在frameworks/base/core/java/android/app/目录添加aidl接口文件,内容如下: /** * Lamp brightness controller */ package android.app... 阅读详情

1.打电话

可以自己写界面,在button的单击事件中添加如下代码即可:

   Intent intent = new Intent();
   intent.setAction("android.intent.action.CALL");
   intent.setData(Uri.parse("tel:"+ mobile));//mobile为你要拨打的电话号码,模拟器中为模拟器编号也可
   startActivity(intent);

需要添加打电话权限:

<uses-permission android:name="android.permission.CALL_PHONE" />

2.发短信

和打电话差不多,在button的单击事件中添加如下代码:

    SmsManager smsManager = SmsManager.getDefault();
    ArrayList<String> texts = smsManager.divideMessage(content);//拆分短信,短信字数太多了的时候要分几次发
    for(String text : texts){
     smsManager.sendTextMessage(mobile, null, text, null, null);//发送短信,mobile是对方手机号
    }

对应发短信权限:

<uses-permissionandroid:name="android.permission.SEND_SMS" />

 



下面是转载来的其他的一些Intent用法实例

显示网页
    Uri uri = Uri.parse("http://google.com");  
    Intent it = new Intent(Intent.ACTION_VIEW, uri);  
    startActivity(it);

显示地图
    Uri uri = Uri.parse("geo:38.899533,-77.036476");  
    Intent it = new Intent(Intent.ACTION_VIEW, uri);   
    startActivity(it);   
    //其他 geo URI 範例  
    //geo:latitude,longitude  
    //geo:latitude,longitude?z=zoom  
    //geo:0,0?q=my+street+address  
    //geo:0,0?q=business+near+city  
    //google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom

路径规划
    Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");  
    Intent it = new Intent(Intent.ACTION_VIEW, uri);  
    startActivity(it);  
    //where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456

打电话
    //叫出拨号程序 
    Uri uri = Uri.parse("tel:0800000123");  
    Intent it = new Intent(Intent.ACTION_DIAL, uri);  
    startActivity(it);  
    //直接打电话出去  
    Uri uri = Uri.parse("tel:0800000123");  
    Intent it = new Intent(Intent.ACTION_CALL, uri);  
    startActivity(it);  
    //用這個,要在 AndroidManifest.xml 中,加上  
    //<uses-permission id="android.permission.CALL_PHONE" />

传送SMS/MMS
    //调用短信程序 
    Intent it = new Intent(Intent.ACTION_VIEW, uri);  
    it.putExtra("sms_body", "The SMS text");   
    it.setType("vnd.android-dir/mms-sms");  
    startActivity(it); 
    //传送消息 
    Uri uri = Uri.parse("smsto://0800000123");  
    Intent it = new Intent(Intent.ACTION_SENDTO, uri);  
    it.putExtra("sms_body", "The SMS text");  
    startActivity(it); 
    //传送 MMS  
    Uri uri = Uri.parse("content://media/external/images/media/23");  
    Intent it = new Intent(Intent.ACTION_SEND);   
    it.putExtra("sms_body", "some text");   
    it.putExtra(Intent.EXTRA_STREAM, uri);  
    it.setType("image/png");   
    startActivity(it);

传送 Email
    Uri uri = Uri.parse("mailto:xxx@abc.com");  
    Intent it = new Intent(Intent.ACTION_SENDTO, uri);  
    startActivity(it);


    Intent it = new Intent(Intent.ACTION_SEND);  
    it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");  
    it.putExtra(Intent.EXTRA_TEXT, "The email body text");  
    it.setType("text/plain");  
    startActivity(Intent.createChooser(it, "Choose Email Client"));


    Intent it=new Intent(Intent.ACTION_SEND);    
    String[] tos={"me@abc.com"};    
    String[] ccs={"you@abc.com"};    
    it.putExtra(Intent.EXTRA_EMAIL, tos);    
    it.putExtra(Intent.EXTRA_CC, ccs);    
    it.putExtra(Intent.EXTRA_TEXT, "The email body text");    
    it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");    
    it.setType("message/rfc822");    
    startActivity(Intent.createChooser(it, "Choose Email Client"));


    //传送附件
    Intent it = new Intent(Intent.ACTION_SEND);  
    it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");  
    it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");  
    sendIntent.setType("audio/mp3");  
    startActivity(Intent.createChooser(it, "Choose Email Client"));

播放多媒体
       Uri uri = Uri.parse("file:///sdcard/song.mp3");  
       Intent it = new Intent(Intent.ACTION_VIEW, uri);  
       it.setType("audio/mp3");  
       startActivity(it); 
       Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");  
       Intent it = new Intent(Intent.ACTION_VIEW, uri);  
       startActivity(it);

Market 相关
        //寻找某个应用 
        Uri uri = Uri.parse("market://search?q=pname:pkg_name"); 
        Intent it = new Intent(Intent.ACTION_VIEW, uri);  
        startActivity(it);  
        //where pkg_name is the full package path for an application 
        //显示某个应用的相关信息 
        Uri uri = Uri.parse("market://details?id=app_id");  
        Intent it = new Intent(Intent.ACTION_VIEW, uri); 
        startActivity(it);  
        //where app_id is the application ID, find the ID   
        //by clicking on your application on Market home   
        //page, and notice the ID from the address bar

Uninstall 应用程序
        Uri uri = Uri.fromParts("package", strPackageName, null); 
        Intent it = new Intent(Intent.ACTION_DELETE, uri);   
        startActivity(it);

安卓调用系统相机录像并上传到后端服务器 安卓调用系统相机录像并上传到后端服务器写在前面一、录像上传的思路二、添加相关权限三、按钮设置监听,调用相机录像并回调1、按钮设置监听:2、调用代码3、回调代码(划重点奥)最后: 写在前面 这段时间接了个安卓功能,把扔了很久的安卓又复习了一遍。其实就是个调用相机录像上传的功能。但是要注意的是系统自带的相机会出现几个无法避免的问题,那就是像素无法具体控制,可以简单调参数,如果对文件大小和像素没有特殊要求的,也可采用此方案,这里简单介绍一下 调用系统相机优点: 界面比较美观,功能相对完善。毕竟系统自带的相机。 阅读详情

相关推荐

Android P系统服务接口调用原理

1、调用系统服务方式 通过以下方式获取StorageManager的实例对象,通过StorageManager调用系统存储服务。 StorageManager是系统存储服务的接口。 getVolumes()可返回系统上可用卷的集合,例如USB设备。 StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE); List<VolumeInfo> volInfoL

Sunxiaolin2016的博客 472

Hello Android - 调用打电话和发短信及intent一些其他用法

1.打电话 可以自己写界面,在button的单击事件中添加如下代码即可:    Intent intent = new Intent();    intent.setAction("android.intent.action.CALL");    intent.set

luoxiangyu001的专栏 1万+

【Android笔记50】Android应用如何获取系统服务(软键盘管理器、闹钟管理器)

android中,软键盘是通过InputMethodManager统一管理的,它是一个系统服务,可以通过android中的【getSystemService()】方法,获取具体的系统服务,软键盘服务只需要传递【Activity.INPUT_METHOD_SERVICE】常量即可。

✅ Java 开发工程师 841

9 使用Intent实现拨打电话和发送短信功能,返回系统桌面功能,ACTION_VIEW启动另一个Activity

1 Intent概述 一个Activity程序主要由Activity,Service和BroadcastReceiver3种组件组成,这3种组件是相互独立的,可以互相调用。这些组件之间的通信由Intent协助完成,Intent负责对一次操作的Action,Action涉及的Data,Extras进行描述,Android根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件。 由以下3种基本应用场景: (1)开启Activity 将Intent对象传递给startActivity()方法

u012906122的专栏 4926

[RK3568 Android11] 教程之添加JNI系统服务—APP调用led系统服务API篇(六)

前言 Android SDK源码添加JNI系统服务,以供给第三方应用调用;以系统JNI调用控制一个LED灯亮灭为例子; 第三方APP调用LED API来控制LED亮灭; 整个调用路径为:APP应用-->frameworks层(JNI和SystemService)--> hardware层--> kernel层--> 硬件层; 此篇讲解的是:APP应用调用LED API系统服务接口; 前五篇已分别完成...

~未来可期~ 3152

android 12.0 添加自定义系统服务接口给app调用

12.0 定制化开发中,在app需要调用系统层的一些功能的时候,由于受限于系统api权限或者某些api被隐藏了,所以需要添加自定义系统服务给app调用 首先要自定义服务 然后给app调用就好

安卓兼职framework和app工程师的博客 3199

android 脚本发短信,Android使用Intent发送短信的实现方法

本文实例讲述了Android使用Intent发送短信的实现方法。分享给大家供大家参考,具体如下:在一个Activity中使用Intent发送短信package com.zhuguangwei;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundl...

weixin_32374445的博客 605

海康工业相机LabVIEW二次开发实战——参数配置优化与图像高效存储

本文详细介绍了海康工业相机在LabVIEW平台上的二次开发实战,重点解析了相机参数配置的优化方法与图像高效存储策略。通过剖析曝光、增益、触发模式等核心参数的设置逻辑,并结合生产者-消费者设计模式,指导开发者构建稳定、高效的图像采集与异步存储流程,有效提升工业视觉项目的开发效率与系统稳定性。

weixin_29306317的博客 221

android 使用intent调用系统服务

android使用intenet调用系统服务 1:调用游览器 Uri uri = Uri.parse("http://www.baidu.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 2:电话呼叫功能 Uri uri = Uri.parse("tel:10

code change the world 1667

保姆级教程:在RV1126开发板上跑通YOLOv5口罩检测(从数据集到摄像头实时识别)

本文提供了一份详细的RV1126开发板部署YOLOv5口罩检测系统的全流程指南,涵盖数据集准备、模型训练优化、边缘部署及实时摄像头识别等关键步骤。重点解析了RV1126开发板的性能特征、YOLOv5模型训练调优技巧、RKNN模型转换量化策略,以及部署过程中的性能优化方案,帮助开发者高效实现边缘端目标检测应用。

weixin_27310985的博客 107

WhatsApp协议算法

我想其实有很多人还不太了WhatsApp群控,简单来说,它和我们常使用的微信聊天软件是类似的,只不过它是基于通讯录的,操作起来比较简单便捷,所以现在有很多国家都喜欢用WhatsApp。一般情况下,筛号不会造成账号被封的情况,但是呢,如果筛号的频率太快,就会被系统限制筛号能力,不再返回筛号结果,所以,筛号数量和速度一定要控制好。前天逛街突然灵光一现,为什么不试试多路访问呢,简单来说就是信道复用技术,马上跑回家,调取接口,接入通道,导入已经转换成协议的账号,成功登录!

2403_87755661的博客 1941

在Android framework中添加系统aidl服务供app调用

在Android framework中添加系统aidl服务供app调用 1.添加aidl服务,首先需要写一个.aidl文件,这里添加在framework/base/core/java/android/hardware下,新建一个ICopyCameraData.aidl文件,文件内容如下: // ICopyCameraData.aidl package android.hardware; // D...

qq_29680135的博客 4670

保姆级教程:用ROS2 Humble和Nav2从零搭建一个能自主导航的机器人小车(含SLAM建图与避障)

本文提供了一份详细的保姆级教程,指导如何使用ROS2 Humble和Nav2从零搭建一个具备自主导航功能的机器人小车,包括SLAM建图与避障。教程涵盖了硬件组装、ROS2环境配置、URDF模型创建、SLAM建图实战、Nav2导航栈配置以及系统集成调试等关键步骤,适合机器人开发初学者和进阶开发者。

weixin_30329623的博客 489

android 10 自定义系统服务接口给app调用

android 10 自定义系统服务接口给app调用 android 10 自定义系统服务,生成成jar包 安卓自定义系统服务

weixin_53620063的博客 5890

ESP32蓝牙配网实战:微信小程序中的blufi协议实现与优化

本文详细介绍了在微信小程序中实现ESP32蓝牙配网的实战经验,重点解析了blufi协议的应用与优化。内容涵盖从开发环境配置、协议帧格式解析,到小程序端蓝牙通信、数据转换的核心步骤,并提供了配网状态机设计、错误处理及性能调优等进阶方案,旨在帮助开发者高效、稳定地完成物联网设备配网功能开发。

weixin_29159613的博客 455

40岁从智驾转具身智能之路

我的工作经历比较复杂,本科毕业后工作2年再次读研的,本科和硕士都是机械专业,硕士毕业后干了5年CAM和机器人再转入到自动驾驶行业。在自动驾驶干了8年,发现自动驾驶已经到了一个瓶颈,再次转行做具身智能。我就谈谈自己的最近这次转型之路。

hzm8341的博客 637

android 系统打印服务,调用Android本地服务,实现打印pdf文件

更新记录0.1.0(2020-04-13)首次发布。平台兼容性AndroidiOS√×原生插件通用使用流程:购买插件,选择该插件绑定的项目。在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行...

weixin_39620578的博客 2005

R语言glm函数构建二分类logistic回归模型、epiDisplay包logistic.display函数获取模型汇总统计信息(自变量初始和调整后的优势比及置信区间,回归系数的Wald检验的p值

R语言glm函数构建二分类logistic回归模型(family参数为binomial)、使用epiDisplay包logistic.display函数获取模型汇总统计信息(自变量初始和调整后的优势比及置信区间,回归系数的Wald检验的p值)

statistics+insight+vista+power 1397

[Android]app调用系统服务dump讨论

【相关技术讨论群】760816094 在app调用系统服务的dump方法,我们可以参考dumpsys命令的实现,可以通过以下2中方式, 1,获取服务的Ibinder对象,但是一般是获取不到的,因为在app端可以使用的类似PackageManager这样的对象是把Ibinder对象封装在里面的,没有暴露出来,一般需要修改代码来提供Ibinder对象。或者进行NDk调用,仿照dumpsys里的方式,通过servicemanager对象获取到Ibinder对象,再调用其dump方法,可能会有SELinux

aaajj的专栏 4675

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

weixin_42412049的博客 736

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

关于Android 添加系统级(java)服务和调用的编写实现

关于Android 添加系统级(java)服务和调用的编写实现说明: 本文当主要描述Android添加java 系统级服务的编写实现。 一.添加java 系统级服务: 目前网站上介绍的比较多,但是没有很详细的步骤和流程。现总结如下: 以 AlarmManagerService为例 Java层服务顾名思义即为从 Java层提供的服务,它与 C++层的服务不同之处在于其服务进程的

明风的博客 1274

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android服务如何开机不获取,Android系统服务调用分析

在Android系统中,framework向应用层提供了很多系统服务,例如InputManager、ActivityManager、WindowManager等,方便的实现软件需求的开发。一.系统服务使用一般而言,在使用时,通过以下方式来获取对应的系统服务管理者:WindowManager mWindowManager;mWindowManager = (WindowManager) mServi...

weixin_35089891的博客 192

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于Android 添加系统级(java)服务和调用的编写实现说明

转自:http://blog.youkuaiyun.com/jinliang_890905/article/details/7320234 关于Android 添加系统级(java)服务和调用的编写实现说明: 本文当主要描述Android添加java 系统级服务的编写实现。 一.添加java 系统级服务: 目前网站上介绍的比较多,但是没有很详细的步骤和流程。现总结如下: 以 Alar

hjwang1的专栏 523

Android TV 添加系统服务,通过Binder机制从APK对其进行跨进程远程调用

关于Binder机制及其原理可以阅读《深入理解Android内核设计思想》第6章,不再详述。 此处,仅介绍一个系统service的具体实现示例 实现过程: 1.apk调用的是jar包里的函数 2.服务器上编译生成jar包供apk使用 首先是source命令加载并选择sh脚本,执行mm命令之后会打包生成三个jar包 com.***.tvapi.factory.jar com.***.f...

Android系统开发-VR OS-系统安全隐私 2502

Android中调用系统的Service

Ansroid中调用系统服务 MediaRecorder  telemanager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

翟浩浩Android专栏 551

安卓开发中调用系统服务的方法

//直接拨号Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678"));startActivity(callIntent); //将电话号码传入拨号程序 Intent dialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:12345678"))

hyhdcl的专栏 892
上一篇: 一个界面实现多个listview
下一篇: Android 中的 Service 全面总结
freemindhack
博客等级 码龄13年 53粉丝 182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值