33-Action跳转StartActivityForResult获取返回的结果
来源:互联网 发布:手机计件工资计算软件 编辑:程序博客网 时间:2024/04/29 13:26
MainActivity.java
package com.example.test;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.support.v4.app.NavUtils;public class MainActivity extends Activity {protected static final int PICK_CONTACT = 0;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button bn = (Button) findViewById(R.id.bn);// 添加监听事件bn.setOnClickListener(new OnClickListener() {public void onClick(View v) {Intent intent = new Intent();intent.setAction(Intent.ACTION_GET_CONTENT);intent.setType("vnd.android.cursor.item/phone");startActivityForResult(intent, PICK_CONTACT);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {case (PICK_CONTACT):if (resultCode == Activity.RESULT_OK) {Uri contactData = data.getData();Cursor cursor = managedQuery(contactData, null, null, null,null);if (cursor.moveToFirst()) {String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));String phoneNumber = "此联系人暂未输入电话号码";System.out.println("----------------------" + contactId);Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ "=" + contactId, null, null);System.out.println("=====================" + phones);if (phones.moveToFirst()) {phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));}phones.close();EditText show = (EditText) findViewById(R.id.show);show.setText(name);EditText phone = (EditText) findViewById(R.id.phone);phone.setText(phoneNumber);}cursor.close();}break;}}}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/show" android:layout_width="fill_parent" android:layout_height="wrap_content" > </EditText> <EditText android:id="@+id/phone" android:layout_width="fill_parent" android:layout_height="wrap_content" > </EditText> <Button android:id="@+id/bn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /></LinearLayout>
AndroidMeniFest.xml中设置用户的权限
<!-- 设置权限 --> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
- 33-Action跳转StartActivityForResult获取返回的结果
- 接收Activity返回的结果startActivityForResult
- 【startActivityForResult】带返回信息的跳转(一)
- startActivityForResult不返回结果
- 关于Fragment跳转到Activity 获取返回结果的处理
- Activity带有返回值的跳转(startActivityForResult跳转)
- Android关于又返回的跳转 startActivityForResult()方法
- StartActivityForResult刚跳转就接收到取消的返回值
- Struts2中Action的返回结果类型
- 有返回结果的页面跳转
- 有返回结果的界面跳转
- struts2返回结果的跳转方式
- Android Activity返回结果startActivityForResult函数
- startActivityForResult启动另一个Activity并返回结果
- startActivityForResult()未正确返回执行结果
- Android Activity返回结果startActivityForResult函数
- React-native从startActivityForResult中获取结果
- 解决Android中Fragment调用startactivityforresult不能返回结果的问题
- Oracle 清空表空间的方法--在已存在表空间的情况下恢复备份文件
- java错误使用习惯
- struts2 下载文件报 “java.lang.IllegalStateException”异常
- struts1前台传值给后台
- java菜鸟
- 33-Action跳转StartActivityForResult获取返回的结果
- 冒泡排序
- 劳动和社会保障局
- Linux GDB打印字符串全部内容
- CE的官方下载地址
- SAP GR/IR在系统AP中收货和校验对会计业务的影响(详细)
- oracle中rowid的用法 (全面)
- IPv4嵌入到IPv6的网络中的路由(RFC6992)
- android opencv 环境问题-- unresolved inclusion