6、Android应用程序组件之二 Activity交互及权限.pptx

上传人:s****8 文档编号:82767245 上传时间:2023-03-26 格式:PPTX 页数:13 大小:307.69KB
返回 下载 相关 举报
6、Android应用程序组件之二 Activity交互及权限.pptx_第1页
第1页 / 共13页
6、Android应用程序组件之二 Activity交互及权限.pptx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《6、Android应用程序组件之二 Activity交互及权限.pptx》由会员分享,可在线阅读,更多相关《6、Android应用程序组件之二 Activity交互及权限.pptx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第六章第六章 应用程序组件(二)应用程序组件(二)ActivityActivity交互及权限交互及权限本章目标系统系统Intent的使用的使用Android组件权限说明组件权限说明Activity与进程间关系与进程间关系Activity间关系和交互间关系和交互intent携带数据携带数据startActivityForResultPendingIntent使用以及通知服务使用以及通知服务系统Intent系统提供的使用者只要发出意图,就能得到相应的回应部分的响应需要权限来控制,需要在androidManifest.xml中申明。看示例代码:Activity_Intent_Demo 项目:com.

2、great.activity_intent.Intent_Demo1,演示其中:btnSubmit4的监听部份,通过 Intent 发出意图,调用系统的组件Intent举例调用拨号程序和音乐选择器示例一:/拨打电话-调用拨号程序Uri uri=Uri.parse(tel:15980665805);Intent intent=new Intent(Intent.ACTION_DIAL,uri);startActivity(intent);示例二:/音乐选择器/它使用了Intent.ACTION_GET_CONTENT 和 MIME 类型来查找支持 audio/*的所有 Data Picker,允

3、许用户选择其中之一Intent intent=new Intent(Intent.ACTION_GET_CONTENT);intent.setType(audio/*);/Intent.createChooser:应用选择器,这个方法创建一个 ACTION_CHOOSER IntentstartActivity(Intent.createChooser(intent,选择音乐);看示例代码:Activity_Intent_Demo 项目:com.great.activity_intent.Intent_Demo1Intent举例设置壁纸示例一:/设置壁纸Intent intent=new In

4、tent(Intent.ACTION_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权限名称权限名称权限

5、描述权限描述接收短信android.permission.RECEIVE_SMS拨打电话android.permission.CALL_PHONE系统启动完毕通知android.permission.RECEIVE_BOOT_COMPLETED读取联系人信息android.permission.READ_CONTACTS修改联系人信息android.permission.WRITE_CONTACTSAndroid 权限Activity 注册属性中 android:permission 为 Activity 加了一个权限,只有拥有这个权限的应用程序才能够调用到这个 Activity注册权限:权限

6、级别:normal(普通级别):默认值,只要申请,就可以使用dangerous(危险级别):会给程序一个提示或警告signature(签名级别):只有拥有相同的签名的应用程序才能够申请该权限signatureOrSystem(系统或签名级别):其他应用程序可以申请权限,调用 Activity看示例代码:Activity_Intent_Demo 项目:com.great.activity_intent.Permission_Demo2 Permission_Activity 项目:com.great.permission.Permission_Demo1PendingIntent是封装了一个 I

7、ntent 以及 Intent 接收者的描述对象,它是一种延迟执行的 Intent,该 PendingIntent 不会立即被处理,而是交付给其他应用程序,等待一个事件的触发后被送出PendingIntent 的构造getActivity(Context context,int reqCode,Intent,int flag)getBroadcast(Context context,int reqCode,Intent,int flag)getService(Context context,int reqCode,Intent,int flag)PendingIntent 的发送send 执行

8、 PendingIntent 指定的操作PendingIntent 的取消cancel()只能被 PendingIntent 创造者进行调用PendingIntent使用一般与一般与 Notification 或或 Alarm 服务配合使用服务配合使用/通知的构造以及 PendingIntent 的构造 nfcm=(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);intent=new Intent(this,Notification_Message.class);intent.putExtra(title,titl

9、e);intent.putExtra(content,content);pIntent=PendingIntent.getActivity(Notification_Demo1.this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);nfc=new Notification();/通知的发送nfc.icon=R.drawable.icon;nfc.defaults=Notification.DEFAULT_SOUND/默认通知的声音nfc.tickerText=按钮1的通知内容;nfc.setLatestEventInfo(Notification_D

10、emo1.this,strTitle,strContent,pIntent);nfcm.notify(0,nfc);看示例代码:Views_Demo 项目:com.great.views.Notification_Demo1、com.great.views.Notification_MessageActivity数据存储当Activity被destroy后,该Activity被重新创建,希望保存原来的现场数据Bundle类可序列化的键值对集合是系统自动生成的,用来临时保存数据即持久化数据到存储地onSaveInstanceState/onRestoreInstanceState保存或恢复数据看

11、示例代码:Activity_Intent_Demo 项目:com.great.activity_intent.Bundle_Demo2、com.great.activity_intent.ResultActivity3Activity之间交互Intent携带数据startActivityForResult方法调用另外一个Activity示例:Intent携带数据放置数据Intent intent=new Intent();intent.putExtras(),该函数被N次重载,可携带任何类型的数据获取数据在上下文环境中(即Activity)Intent intent=getIntent()in

12、tent.getCharSequenceExtras(String name)intent.getBundleExtras清除数据removeExtras()示例:startActivityForResult调用者ActivityFirstA被调用者ActivitySecondBIntent intent=SecondB.this.getIntent();Bundle bundle=new Bundle();bundle.putCharSequence(v1,data_content);intent.putExtra(bundle_a,bundle);SecondB.this.setResul

13、t(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)Bundle bundle=data.getBundleExtra(“bundle_a);Log.i(FirstA,bundle.getString(“v1);Log.i(FirstA,(String)data.getCharSequenceExtra(data);super.onActivityResult(requestCode,resultCode,data);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁