调用系统的相机,联系人,短信等问题

1.系统相机的调用

调用系统的图库

         intent = new Intent( Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//调用android的图库

    startActivityForResult(intent, 0);

调用系统的相机并进行拍照

intent= new Intent();                 intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);

                                   intent.addCategory(Intent.CATEGORY_DEFAULT);

                                   File file = new File(FILE_PATH[1]);

                                   if (file.exists()) {

                                       file.delete();

                                   }

                                   Uri uri =Uri.fromFile(file);

                                   intent.putExtra(MediaStore.EXTRA_OUTPUT,

                                           uri);

                                   startActivityForResult(intent,0);

 

 

1.     调用的联系人界面

Intentintent = new Intent(Intent.ACTION_PICK,android.provider.ContactsContract.Contacts.CONTENT_URI);                      

startActivityForResult(intent,0);

下面是点击联系人获得他的名字和电话号码

        protected void onActivityResult (int requestCode,int resultCode, Intent data) {

               super.onActivityResult(requestCode,resultCode, data);

               switch (requestCode) {

               case 0:

                    if (data ==null) {

                        return;

                    }

                    Uri uri = data.getData();

                    // 得到ContentResolver对象

                    ContentResolver cr =getContentResolver();

                    // 取得电话本中开始一项的光标

                    Cursor cursor = cr.query(uri, null,null, null,null);

                    // 向下移动光标

                    while (cursor.moveToNext()) {

                        // 取得联系人名字

                        int nameFieldColumnIndex = cursor

                               .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);

                         contact1 = cursor.getString(nameFieldColumnIndex);

                         int id = cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts._ID));

                       Cursor phone = cr.query(

                               ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,

                               ContactsContract.CommonDataKinds.Phone.CONTACT_ID +"=?",

                               new String[] { Integer.toString(id) },null);

                       while (phone.moveToNext()) {

                      

                           StringstrPhoneNumber = phone

                                   .getString(phone

                                           .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                           contact =GetNumber(strPhoneNumber);

                       }

                      

                       titletext.setText(contact);

                    }

               

                  

                   

                    break;

               

               default:

                    break;

           }

           }

2.   调用系统的发短信功能

这个是没有预定联系人的

                     UrismsToUri = Uri.parse("smsto:"); 

                     Intent intent = new Intent(Intent.ACTION_SENDTO, smsToUri); 

                     intent.putExtra("sms_body","");

                       startActivity(intent);

如过要进行预定联系人的发送短信功能

UrismsToUri = Uri.parse("smsto:"+预设的电话号码); 

Intentintent = new Intent(Intent.ACTION_SENDTO, smsToUri); 

                intent.putExtra("sms_body","");                                          startActivity(intent);

3.    调用系统的联系人存储

此无联系人的信息传进去

Intent intent = new Intent(Intent.ACTION_INSERT);

                                       intent.setType("vnd.android.cursor.dir/person");

                                       intent.setType("vnd.android.cursor.dir/contact");

                                       intent.setType("vnd.android.cursor.dir/raw_contact");

    startActivity(intent);

4.   调用系统的电话拨打

                                       Intent intent1 = new Intent();

                                       intent1.setAction("android.intent.action.DIAL");

                                       intent1.setData(Uri.parse("tel:"+默认的拨打号码));

                                        startActivity(intent1);

本人亲测代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MATLAB中,NURBS(非均匀有理B样条)是一种强大的数学工具,用于表示和处理复杂的曲线和曲面。NURBS在计算机图形学、CAD(计算机辅助设计)、CAM(计算机辅助制造)等领域有着广泛的应用。下面将详细探讨MATLAB中NURBS的绘制方法以及相关知识点。 我们需要理解NURBS的基本概念。NURBS是B样条(B-Spline)的一种扩展,其特殊之处在于引入了权重因子,使得曲线和曲面可以在不均匀的参数空间中进行平滑插值。这种灵活性使得NURBS在处理非均匀数据时尤为有效。 在MATLAB中,可以使用`nurbs`函数创建NURBS对象,它接受控制点、权值、 knot向量等参数。控制点定义了NURBS曲线的基本形状,而knot向量决定了曲线的平滑度和分布。权值则影响曲线通过控制点的方式,大的权值会使曲线更靠近该点。 例如,我们可以使用以下代码创建一个简单的NURBS曲线: ```matlab % 定义控制点 controlPoints = [1 1; 2 2; 3 1; 4 2]; % 定义knot向量 knotVector = [0 0 0 1 1 1]; % 定义权值(默认为1,如果未指定) weights = ones(size(controlPoints,1),1); % 创建NURBS对象 nurbsObj = nurbs(controlPoints, weights, knotVector); ``` 然后,我们可以用`plot`函数来绘制NURBS曲线: ```matlab plot(nurbsObj); grid on; ``` `data_example.mat`可能包含了一个示例的NURBS数据集,其中可能包含了控制点坐标、权值和knot向量。我们可以通过加载这个数据文件来进一步研究NURBS的绘制: ```matlab load('data_example.mat'); % 加载数据 nurbsData = struct2cell(data_example); % 转换为cell数组 % 解析数据 controlPoints = nurbsData{1}; weights = nurbsData{2}; knotVector = nurbsData{3}; % 创建并绘制NURBS曲线 nurbsObj = nurbs(controlPoints, weights, knotVector); plot(nurbsObj); grid on; ``` MATLAB还提供了其他与NURBS相关的函数,如`evalnurbs`用于评估NURBS曲线上的点,`isoparm`用于生成NURBS曲面上的等参线,以及`isocurve`用于在NURBS曲面上提取特定参数值的曲线。这些工具对于分析和操作NURBS对象非常有用。 MATLAB中的NURBS功能允许用户方便地创建、编辑和可视化复杂的曲线和曲面。通过对控制点、knot向量和权值的调整,可以精确地控制NURBS的形状和行为,从而满足各种工程和设计需求。通过深入理解和熟练掌握这些工具,可以在MATLAB环境中实现高效的NURBS建模和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值