版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 应用程序组件(二)Activity交互及权限,本章目标,系统Intent的使用 Android组件权限说明 Activity与进程间关系 Activity间关系和交互 intent携带数据 startActivityForResult PendingIntent使用以及通知服务,系统Intent,系统提供的 使用者只要发出意图,就能得到相应的回应 部分的响应需要权限来控制,需要在androidManifest.xml中申明。 看示例代码:Activity_Intent_Demo 项目:com.great.activity_intent.Intent_Demo1, 演示其中:btnSub
2、mit4的监听部份,通过 Intent 发出意图,调用系统的组件,Intent举例调用拨号程序和音乐选择器,示例一: /拨打电话-调用拨号程序 Uri uri = Uri.parse(tel; Intent intent = new Intent(Intent.ACTION_DIAL, uri); startActivity(intent); 示例二: /音乐选择器 /它使用了Intent.ACTION_GET_CONTENT 和 MIME 类型来查找支持 audio/* 的所有 Data Picker,允许用户选择其中之一 Intent intent = new I
3、ntent(Intent.ACTION_GET_CONTENT); intent.setType(audio/*); /Intent.createChooser:应用选择器,这个方法创建一个 ACTION_CHOOSER Intent startActivity(Intent.createChooser(intent, 选择音乐); 看示例代码:Activity_Intent_Demo 项目: com.great.activity_intent.Intent_Demo1,Intent举例设置壁纸,示例一: /设置壁纸 Intent intent = new Intent(Intent.ACTI
4、ON_SET_WALLPAPER); startActivity(Intent.createChooser(intent, 设置壁纸); 看示例代码:Activity_Intent_Demo 项目: com.great.activity_intent.Intent_Demo1,系统权限android.permission,程序执行需要读取到安全敏感项必需在 androidmanifest.xml中声明相关权限请求 看示例代码:Activity_Intent_Demo 项目: com.great.activity_intent.Permission_Demo1,Android 权限,Activi
5、ty 注册属性中 android:permission 为 Activity 加了一个权限,只有拥有这个权限的应用程序才能够调用到这个 Activity 注册权限: 权限级别: normal (普通级别):默认值,只要申请,就可以使用 dangerous(危险级别):会给程序一个提示或警告 signature(签名级别):只有拥有相同的签名的应用程序才能够申请该权限 signatureOrSystem(系统或签名级别): 其他应用程序可以申请权限,调用 Activity 看示例代码:Activity_Intent_Demo 项目: com.great.activity_intent.Permi
6、ssion_Demo2 Permission_Activity 项目: com.great.permission.Permission_Demo1,PendingIntent,是封装了一个 Intent 以及 Intent 接收者的描述对象,它是一种延迟执行的 Intent, 该 PendingIntent 不会立即被处理,而是交付给其他应用程序,等待一个事件的触发后被送出 PendingIntent 的构造 getActivity(Context context, int reqCode, Intent, int flag) getBroadcast(Context context, int
7、 reqCode, Intent, int flag) getService(Context context, int reqCode, Intent, int flag) PendingIntent 的发送 send 执行 PendingIntent 指定的操作 PendingIntent 的取消 cancel() 只能被 PendingIntent 创造者进行调用,PendingIntent使用,一般与 Notification 或 Alarm 服务配合使用 /通知的构造以及 PendingIntent 的构造 nfcm= (NotificationManager)this.getSyst
8、emService(NOTIFICATION_SERVICE); intent = new Intent(this, Notification_Message.class); intent.putExtra(title, title); intent.putExtra(content, content); pIntent = PendingIntent.getActivity(Notification_Demo1.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); nfc = new Notification(); /通知的发送 nfc.i
9、con = R.drawable.icon; nfc.defaults=Notification.DEFAULT_SOUND/默认通知的声音 nfc.tickerText = 按钮1的通知内容; nfc.setLatestEventInfo(Notification_Demo1.this, strTitle, strContent, pIntent); nfcm.notify(0, nfc); 看示例代码:Views_Demo 项目: com.great.views.Notification_Demo1、com.great.views.Notification_Message,Activity
10、数据存储,当Activity被destroy后,该Activity被重新创建,希望保存原来的现场数据 Bundle类 可序列化的键值对集合 是系统自动生成的,用来临时保存数据即持久化数据到存储地 onSaveInstanceState/onRestoreInstanceState保存或恢复数据 看示例代码:Activity_Intent_Demo 项目: com.great.activity_intent.Bundle_Demo2、com.great.activity_intent.ResultActivity3,Activity之间交互,Intent携带数据 startActivityFor
11、Result方法调用另外一个Activity,示例:Intent携带数据,放置数据 Intent intent = new Intent(); intent.putExtras(),该函数被N次重载,可携带任何类型的数据 获取数据 在上下文环境中(即Activity) Intent intent = getIntent() intent.getCharSequenceExtras(String name) intent.getBundleExtras 清除数据 removeExtras(),示例:startActivityForResult,调用者ActivityFirstA 被调用者Acti
12、vitySecondB,Intent intent = SecondB.this.getIntent(); Bundle bundle = new Bundle(); bundle.putCharSequence(v1, data_content); intent.putExtra(bundle_a, bundle); SecondB.this.setResult(0, intent); SecondB.this.finish();,Intent intent = new Intent(); intent.setClassName(com.great.act, com.great.act.SecondB); intent.putExtra(data, this is a test); startActivityForResult(intent,0);,protected void onActivityResult(int requestCode, int resultCode, Intent data
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物品采购及购买服务制度
- 物料采购请款制度
- 物资采购及申领管理制度
- 物资采购比价管理制度
- 物资采购退货制度
- 玩具教具采购使用制度
- 珠宝公司采购部管理制度
- 生产型采购管理制度
- 生鲜现金采购制度
- 用品采购领用制度
- 标准化考试题库管理及维护方案
- 2019电力系统继电保护事故案例分析
- 生成式人工智能在初中历史课堂互动教学中的实践与反思教学研究课题报告
- 2025年研究生政治复试笔试题库及答案
- 2024+EACTS+指南:成人心脏手术围手术期用药
- 2026届新高考高中英语语法填空题66篇(含答案解析)
- 2026年时事政治测试题库附参考答案(培优)
- 2025年风电叶片回收十年市场规模报告
- NCCN临床实践指南:头颈部肿瘤(2026.V1)解读课件
- T CWEA水利水电工程钢筋机械连接施工规范
- 暖通高效机房设计
评论
0/150
提交评论