Android里面所应用到的注册权限

来源:互联网 发布:数据分析师主要做什么 编辑:程序博客网 时间:2024/05/18 18:20

一、创建电话拨号器、及注册权限

1)实现接口中的方法

获得文本框的内容

String phoneNo = textPhone.getText().toString(); 

找到android中的打电话程序并调用

intent.setAction("android.intent.action.CALL");

intent.setData(Uri.parse("tel:"+phoneNo));//蓝色固定

顺便提一下intent的基本作用

一个intent包含了一组信息

Component name(要启动的组件名称)

Action(请求的activity要做什么动作)

Data(从一个activity向另一个activity传送的数据)

Extras(Activity中存放的键值对,可以在另外的activity中存取)

2)注册权限

在androidManifest.xml注册调用android电话拨号的权限

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

二、发送短信
1)发送短信
SmsManager sms = SmsManager.getDefault();
2)分割短信
List<String> texts = sms.divideMessage(strMsg);(strMsg是获得短信息)
for(String str:texts){
sms.sendTextMessage(strTel,null,str,null,null);(strTel是电话号码)
}
3)在功能清单上注册发送权限
<uses-permission android:name="android.permission.SEND_SMS"/>

三、弹出窗口
1)重写onCreateOptionsMenu(Menu menu)和onOptionsItemSelected(MenuItem item)两个方法

public boolean onCreateOptionsMenu(Menu menu) {

menu.add(0,1,1,R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreateOptionsMenu(menu);
}

public boolean onOptionsItemSelected(MenuItem item) {

if(item.getItemId()==1)
finish();
if(item.getItemId()==2)
{
Intent intent=new Intent();
intent.setClass(this,要转的activity);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
™2)在功能清单文件中加入android:theme="@android:style/Theme.Dialog"

四、访问SDCard的权限

<!--在SDCard中创建与删除文件的权限-->

™<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!--往SDCard写入数据权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

a)为什么使用SDCard?
文件是存放在手机空间上,一般手机的存储空间不是很大;对于像视频这样的大文件,我们可以把它们存放在SDCard。

b)SDCard是什么?
你可以把它看做是移动硬盘或U盘(我们常说的内存卡);可以用来存储数据,SDCard需要单独购买,手机上默认不带有SDCard

c)如何使用SDCard?
™在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建。
™使用DOS命令进行创建。
在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img:
™mksdcard 2048M D:\AndroidTool\sdcard.img

d)把文件存放在SDCard?
判断手机是否装有SDCard,并且可以进行读写
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){......}

获得SDCard的目录,有两种方法
File sdCardDir = Environment.getExternalStorageDirectory();//动态获取目录

File sdCardDir = new File("/mnt/sdcard");//直接指定目录

e)向SDCard中写入文件、可以使用字节流或者字符流
-------字符流-----------
//创建文件对象
File file = new File(path);
//如果文件不存在则创建文件
if(file.exists()==false){
 file.createNewFile();
 //追加写入
 FileOutputStream fos = new FileOutputStream(file,true);
//写入文件
fos.write(content.getBytes());
//关闭流
fos.close();
}
-----使用包装过的字符流,可以按行写入,速度更快,使用也更方便


五、使用Junit对android进行单元测试

第一步:androidManifest。xml中加入下面字段,在application节点和activity节点之间加入

<uses-library android:name="android.test.runner" />

第二步:在application外面加入

 <instrumentation 

        android:name="android.test.InstrumentationTestRunner" 
        android:targetPackage="activity的包名" 
        android:label="标签名" />

0 0