【Android 初学者】权限调用,手把手教你们启用权限
来源:互联网 发布:阿里云服务器安全问题 编辑:程序博客网 时间:2024/06/08 04:47
说起调用权限,就是意图组件!(唯一和用户交互的组件)
意向组件(不属于四大核心组件)作用:
1,指令输出,通过反射读取路径。2,
实现Android的应用组件之间的交互和通信:
使用手机 →打电话,发短信,听歌,上网,→ 意向 →启用短信,电话,听歌,上网等相应应用组件
属性:
操作:要执行的动作(与输入连在一起)
数据:执行动作要操作的数据
类型:显示指定意向的数据类型
类别:类别,被执行动作的附加信息
演员:包含所有附加信息的集合
成分:指定意向的目标组件的类名称(差不多淘汰)
本文章讲解:
一,打开应用程序,显示一张精美的背景图,再跳转主页面
(参考支付宝,QQ,微信等应用程序)
如图:先显示一张背景图片,几秒后再跳转主页面
二,如上图,实现打电话
三,发短信与群发短信(基本河蟹了,但是根过的手机可用,
因为批量发送属于骚扰的恶意程序,谁也不想看到手机有成百上千条骚扰短信吧?!)
四,打开网页(工作室自带的虚拟机测试不稳定,日食的稳定打开网页,大家也可以自己去网上找个其他的虚拟机,或者用手机测试)
五,往虚拟机的SD卡添加文件,实现:播放音乐,安装APK
卸载APK几乎不用,都是长按促发卸载功能。
(前面四个上代码,很简单的,第五详细讲解)
在自己的虚拟机上测试:
1,在java的环境变量上,设置机器人的环境变量
ANDROID_HOME
E:\ Android的\ SDK
PATH(在JDK和mysql的的基础上加的; 号可以断开)
D:\的Java \ jdk1.8.0_91 \ BIN; D:\ mysql5.6 \ BIN; E:\ Android的\ SDK \平台工具; E:\ Android的\ SDK \工具
设置好后,应该有这个图标的
2,新建虚拟机(略),打开它,往桌面放一个APK测试
点击左上的虚拟机,再看到右边的文件夹,可见:存储SD卡
安装APK:
卸载
当然,名字是要修改的!从项目4,到爱丽丝桌面主题,到QQ萌化的apk
-------------------------------------------------- -----------------------------------------------
所有文件:
MainActivity.java
包com.open_open.androidch_07_2;进口android.app.Activity;进口android.content.Intent;进口android.net.Uri;进口android.support.v7.app.AppCompatActivity;进口android.os.Bundle;进口android.telephony.SmsManager;进口android.view.View;进口android.widget.EditText;公共类MainActivity延伸活动{ 私人的EditText setValues方法; @覆盖 保护无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState); 的setContentView(R.layout.activity_main); setValues方法=(EditText上)findViewById(R.id.setValues); }//电话拨号 公共无效testOne(查看视图){ //跳出拔号界面! 意向意图=新意图(Intent.ACTION_CALL,Uri.parse(“电话:”+ setValues.getText()的toString())); startActivity(意向); }//发短信 公共无效testTwo(查看视图){ 意向意图=新意图(Intent.ACTION_SENDTO,Uri.parse(“smsto:”+ setValues.getText()的toString())); intent.putExtra(“SMS_BODY”,“你好,Android的!”); startActivity(意向); }//发信息 公共无效testTwo_2(查看视图){ SmsManager短信= SmsManager.getDefault(); 的for(int i = 0;我<5;我++){ sms.sendTextMessage(“smsto:”+ setValues.getText()的toString(),空, “这是一个测试!”,NULL,NULL); } }//打开网页 公共无效testThree(查看视图){ 意向意图=新意图(Intent.ACTION_VIEW,Uri.parse(“http://www.baidu.com”)); startActivity(意向); }//播放音乐 公共无效testFour(查看视图){ 意向意图=新意图(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(“文件:///sdcard/Oranje.mp3”),“音频/ MP3”); startActivity(意向); }//安装APK QQ 公共无效testFive(查看视图){ 意向意图=新的Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(“文件:///sdcard/ludou.apk”), “应用程序/ vnd.android.package归档”); startActivity(意向); }//卸载APK androidch04 公共无效testSix(查看视图){ 意向意图=新意图(Intent.ACTION_DELETE,Uri.parse (“包:com.example.ludou”)); startActivity(意向); }}
AndroidMainfest.xml(权限调用)
<?XML版本=“1.0”编码=“UTF-8”?><清单的xmlns:机器人=“http://schemas.android.com/apk/res/android” 包=“com.open_open.androidch_07_2”><! - 权限开启:拨打电话,发送邮件,连接网络,安装APK,卸载的apk - > <使用许可权的android:NAME =“android.permission.CALL_PHONE”/> <使用许可权的android:NAME =“android.permission.SEND_SMS”/> <使用许可权的android:NAME =“android.permission.INTERNET对”/> <使用许可权的android:NAME =“android.permission.MOUNT_UNMOUNT_FILESYSTEMS”/> <使用许可权的android:NAME =“android.permission.WRITE_EXTERNAL_STORAGE”/> <应用 机器人:allowBackup =“真” 机器人:图标=“@的mipmap / ic_launcher” 机器人:标签=“@字符串/ APP_NAME” 机器人:supportsRtl =“真” 机器人:主题=“@风格/ AppTheme”> <活动的android:NAME =“MainActivity。”> <意图过滤器> <行动机器人:名字=“android.intent.action.MAIN”/> <类别的Android:名称=“。android.intent.category DEFAULT ”/> </意图过滤器> </活动> <活动的android:NAME =“WelcomeActivity。”> <意图过滤器> <行动机器人:名字=“android.intent.action.MAIN”/> <类机器人:名字=“android.intent.category.LAUNCHER”/> </意图过滤器> </活动> <! - <活动的android:“WelcomeActivity”NAME = /> - > </应用></清单>
WelcomeActivity.java(背景页面的方法)
包com.open_open.androidch_07_2;进口android.app.Activity;进口android.content.Intent;进口android.os.Bundle;公共类WelcomeActivity延伸活动{//定义一个时间长度的变量 INT大小= 0; @覆盖 保护无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState); 的setContentView(R.layout.activity_welcome); getWindow()的setType(getWindow()FEATURE_NO_TITLE。); 新主题(新的Runnable接口(){ @覆盖 公共无效的run(){ 而(大小<3){ 尝试{ 视频下载(1000); 大小++; }赶上(InterruptedException的E){ e.printStackTrace(); } } 意向意图=新意图(WelcomeActivity.this,MainActivity.class); startActivity(意向); 完(); } })。开始(); }}
activity_main.xml中(主页面布局)
<?XML版本=“1.0”编码=“UTF-8”?><LinearLayout中的xmlns:机器人=“http://schemas.android.com/apk/res/android” 的xmlns:工具=“http://schemas.android.com/tools” 机器人:layout_width =“match_parent” 机器人:layout_height =“match_parent” 机器人:方向=“垂直”> <的EditText 机器人:ID =“@ + ID / setValues方法” 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:提示=“请输入内容” 机器人:TEXTSIZE =“28sp” 机器人:重力=“左” 机器人:layout_marginTop =“5SP”/> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文字=“拨打电话” 风格=“@风格/ myButton的” 安卓的onClick =“testOne”/> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文字=“发送短信一” 风格=“@风格/ myButton的” 安卓的onClick =“testTwo”/> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文字=“发送短信二” 风格=“@风格/ myButton的” 安卓的onClick =“testTwo_2”/> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文本=“打开网页” 风格=“@风格/ myButton的” 安卓的onClick =“testThree” /> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文字=“播放音乐” 风格=“@风格/ myButton的” 安卓的onClick =“testFour”/> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文字=“安装的.apk” 风格=“@风格/ myButton的” 安卓的onClick =“testFive”/> <按钮 机器人:layout_width =“match_parent” 机器人:layout_height =“WRAP_CONTENT” 机器人:文字=“卸载的.apk” 风格=“@风格/ myButton的” 安卓的onClick =“testSix”/></ LinearLayout中>
activity_welcome.xml(背景页面布局,其实就一个背景设置)
<?XML版本=“1.0”编码=“UTF-8”?><LinearLayout中的xmlns:机器人=“http://schemas.android.com/apk/res/android” 的xmlns:工具=“http://schemas.android.com/tools” 机器人:layout_width =“match_parent” 机器人:layout_height =“match_parent” 机器人:背景=“@绘制/梅子”></ LinearLayout中>
值文件夹:自定义样式:mystyle.xml
<?XML版本=“1.0”编码=“UTF-8”?><资源> <样式名称=“myButton的”父=“机器人:Widget.Button”> <项目名称=“机器人:TEXTSIZE”> 26sp </项目> <项目名称=“机器人:文字颜色”> @色/ colorPrimary </项目> <项目名称=“机器人:layout_marginTop”> 3SP </项目> <项目名称=“机器人:引力”>中心</项目> <项目名称=“机器人:layout_margin”> 5SP </项目> </样式></资源>
1 0
- 【Android 初学者】权限调用,手把手教你们启用权限
- 初学者---Android 常用依赖,权限
- Android开发之权限调用
- android 7.0调用相机权限
- android-系统功能权限调用
- 手把手教你:android调用系统相机、相册功能,适配6.0权限获取以及7.0以后获取URI(兼容多版本)
- linux初学者-文件权限
- android初学者——Android配置文件权限一览表
- 启用 ubuntu 的 root 权限
- Ubuntu启用root权限登录
- [Win32] 启用进程Debug权限
- 启用MONGODB的权限机制
- 【权限】Android权限列表
- 手把手教你破解全网视频vip权限
- android调用shell命令及权限问题
- Android中应用调用系统权限
- Android 6.0动态权限调用相册相机
- android调用shell命令及权限问题
- Struts2
- Java简介
- Android 6.0运行时获取权限详解
- java.util.ConcurrentModificationException解决办法
- Google Guava-缓存
- 【Android 初学者】权限调用,手把手教你们启用权限
- 然后Denton et al, 2015 搞出了非常NB的改进版本
- 内存共享函数OpenFileMapping,在release模式下返回NULL
- 数据分库,横向切分,纵向切分
- Dlib提取人脸特征点(68点,opencv画图)
- Javascript之数据类型以及一些常用方法
- Git与SVN区别
- 12月2日:一周最受关注论文排行榜
- 21分钟 MySQL 入门教程