android之Itent.ACTION_PICK Intent.ACTION_GET_CONTENT妙用

本文介绍了在Android开发中如何利用Intent.ACTION_PICK和Intent.ACTION_GET_CONTENT来实现从联系人列表选择姓名,以及从图库选择图片的功能。通过这两个Intent,开发者可以轻松创建用户选择界面,进行后续的数据操作。
摘要由CSDN通过智能技术生成

你是不是很多时候,想从弹出的电话本姓名列表中中查找到某个人,然后再获取该人的详细信息呢?

你是不是想选择从弹出的列表中选择一张图片,然后将其进行进一步的操作呢?

如果,你想,那你是不是很像知道,我们应该怎么让其弹出来一张选择列表,又应该怎么代码实现后边的操作呢?

Itent.ACTION_PICK  Intent.ACTION_GET_CONTENT 两者都可以完成类似的功能,让我们一起来看下例子:

第一:Intent.ACTION_PICK

首先添加一个权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
发起一个 Contact Picker
Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
重写方法
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data)
  { 
      super.onActivityResult(reqCode, resultCode, data); 
        switch (reqCode) {
             case (PICK_CONTACT) :     
             if (resultCode == Activity.RESULT_OK) {       
             Uri contactData = data.getData();       
             Cursor c =  managedQuery(contactData, null, null, null, null);       
             if (c.moveToFirst()) {         
                String name = c.getString(c.getColumnIndexOrThrow(People.NAME));         
                // TODO Whatever you want to do with the selected contact name.       
                                 }     
                      }     
              
      break; 
               
         }
   }

例如
String[] columns = new String[] {People.NAME};
int[] names = new int[] {R.id.row_entry};
mAdapter = new SimpleCursorAdapter(this, R.layout.mycontacts, C, columns, names);
setListAdapter(mAdapter);
第二:Intent.ACTION_GET_CONTENT
我们可以发现,其实action_get_content是通过intent中设置的type属性来判断具体调用哪个程序的。
  1. Intent intent = new Intent(Intent.ACTION_GET_CONTENT);   
  2. intent.setType("audio/*");   
  3. startActivity(Intent.createChooser(intent, "Select music"));  
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
startActivity(Intent.createChooser(intent, "Select music"));

 

 

执行之 会弹出一个对话框 效果为:

 

 

 

 

 

 

其实 对于这段代码 大家应该都能猜出什么意思  现自己模拟并理解之

  • 1
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Android Studio中的action_get_content是一个活动(Activity)的操作,用于从其他应用程序或系统中获取内容。 当我们在Android应用程序中需要使用其他应用程序或系统提供的特定类型的数据时,例如图片、音频、视频等,我们就可以使用action_get_content操作。 通过调用该操作,我们可以打开Android设备上的文件浏览器或者其他应用程序,并选择需要的内容。一旦内容被选择,Android系统会返回一个表示所选内容的URI给我们的应用程序。 我们可以使用以下代码来执行此操作: ```java Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); // 指定获取图片类型的内容 startActivityForResult(intent, PICK_IMAGE_REQUEST); ``` 以上代码中,我们创建了一个新的Intent对象,并设置其操作为ACTION_GET_CONTENT。然后,我们使用setType()方法来指定获取图片类型的内容。最后,我们使用startActivityForResult()方法来启动该操作,并指定一个请求代码PICK_IMAGE_REQUEST。这样,一旦内容被选择,Android系统会将其返回给我们的应用程序,并调用onActivityResult()方法。 在onActivityResult()方法中,我们可以获取所选内容的URI,并进行进一步的处理,例如显示图片或将其上传到服务器。 总结起来,action_get_contentAndroid Studio中用于从其他应用程序或系统中获取内容的操作。它使我们的应用程序能够与其他应用程序或系统进行交互,并获取所需内容,以满足用户的需求。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值