博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android调用系统功能
阅读量:7027 次
发布时间:2019-06-28

本文共 3353 字,大约阅读时间需要 11 分钟。

电话

拨打界面:

Intent intent = new Intent();intent.setAction("android.intent.action.DIAL");intent.setData(Uri.parse("tel:"+"电话号码"));startActivity(intent);

 

直接拨出:

需要权限:android.permission.CALL_PHONE

Uri uri = Uri.parse("tel:" + "电话号码");Intent intent = new Intent(Intent.ACTION_CALL, uri);startActivity(intent);

 


 

短信

发送界面:

Uri uri = Uri.parse("smsto:" + "电话号码");Intent intent = new Intent(Intent.ACTION_SENDTO, uri);intent.putExtra("sms_body", "短信内容");startActivity(intent);

Intent intent = new Intent(Intent.ACTION_VIEW);intent.putExtra("address", "电话号码"); intent.putExtra("sms_body", "短信内容"); intent.setType("vnd.android-dir/mms-sms"); startActivity(intent);

 

直接发送:

需要权限:android.permission.SEND_SMS

SmsManager smsManager = SmsManager.getDefault();// 拆分短信内容List
divideContents = smsManager.divideMessage("完整短信信息");// 分批发送for (String text : divideContents) { smsManager.sendTextMessage("电话号码", null, text, sentPI, deliverPI); }// 处理返回的发送状态String SENT_SMS_ACTION = "SENT_SMS_ACTION";Intent sentIntent = new Intent(SENT_SMS_ACTION);PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, sentIntent, 0);// register the Broadcast Receiverscontext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context _context, Intent _intent) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(context, "短信发送成功", Toast.LENGTH_SHORT) .show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: break; case SmsManager.RESULT_ERROR_RADIO_OFF: break; case SmsManager.RESULT_ERROR_NULL_PDU: break; } }}, new IntentFilter(SENT_SMS_ACTION));// 处理返回的接收状态String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";// create the deilverIntent parameterIntent deliverIntent = new Intent(DELIVERED_SMS_ACTION);PendingIntent deliverPI = PendingIntent.getBroadcast(context, 0, deliverIntent, 0);context.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context _context, Intent _intent) { Toast.makeText(context, "收信人已经成功接收", Toast.LENGTH_SHORT) .show(); }}, new IntentFilter(DELIVERED_SMS_ACTION));

发送短信的参数说明

smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliverIntent)

-- destinationAddress:目标电话号码 

-- scAddress:短信中心号码,可以不填 
-- text: 短信内容 
-- sentIntent:发送 -->中国移动 --> 中国移动发送失败 --> 返回发送成功或失败信号 --> 后续处理   即,这个意图包装了短信发送状态的信息 
-- deliverIntent: 发送 -->中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理  即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。 

 


 

邮件

Intent emailIntent = new Intent(Intent.ACTION_SEND);// 文本格式emailIntent.setType("text/plain");// 对方邮件地址emailIntent.putExtra(Intent.EXTRA_EMAIL, "对方邮件地址");// 标题内容emailIntent.putExtra(Intent.EXTRA_SUBJECT, "标题内容");// 邮件文本内容emailIntent.putExtra(Intent.EXTRA_TEXT, "邮件文本内容");// 邮件发送客户端选择器startActivity(Intent.createChooser(emailIntent, "Choose Email Client"));

 


 

联系人

添加联系人:

Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);intent.putExtra("name", "姓名");intent.putExtra("phone", "电话号码");context.startActivity(intent);

 

添加或编辑联系人:

Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);intent.setType("vnd.android.cursor.item/contact");intent.putExtra(Intents.Insert.PHONE, "电话号码");context.startActivity(intent);

 

上述代码大部分未经测试。

参考转载来源:

转载于:https://www.cnblogs.com/wavky/articles/3803581.html

你可能感兴趣的文章
IIS的负载均衡的解决方案
查看>>
磁盘清理无法删除DUMP文件手工删
查看>>
学习笔记TF060:图像语音结合,看图说话
查看>>
工程实践:给函数取一个"好"的名字
查看>>
springmvc hello-servlet.xml配置文件
查看>>
Cisco ASA 应用NAT
查看>>
Css的transform和transition
查看>>
AtomicInteger和count++的比较
查看>>
JS删除数组条目中重复的条目
查看>>
为什么 执行typeof null时会返回字符串“object”?
查看>>
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现...
查看>>
我心中的核心组件(可插拔的AOP)~第十二回 IoC组件Unity
查看>>
AutoCompleteTextView 与sqlite绑定实现记住用户输入的内容并自动提示
查看>>
TCP/IP-协议族----17、应用层简单
查看>>
ZOJ1093 动态规划
查看>>
Swift - 06 - 数值类型转换和类型别名
查看>>
原型模式与对象的拷贝
查看>>
CISCO 6509 日志分析
查看>>
AutoOps 1.8 版本
查看>>
烂泥:centos安装LVM方式
查看>>