Activity程序Activity.java

packagecom.example.intentcaseproject;

importandroid.net.Uri;

importandroid.os.Bundle;

importandroid.provider.ContactsContract;

importandroid.app.Activity;

importandroid.content.ContentUris;

importandroid.content.Intent;

importandroid.database.Cursor;

importandroid.view.Menu;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.Toast;

publicclassMainActivityextendsActivity{

privateButtonmybut=null;

privateEditTexttel=null;

privateEditTextcontent=null;

privateButtonaddbut=null;

privateButtontelbut=null;

privatestaticfinalintPICK_CONTEACT_SUBACTIVITY=1;//自定义操作标记

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

super.setContentView(R.layout.activity_main);

this.mybut=(Button)super.findViewById(R.id.mybut);//取得组件

this.tel=(EditText)super.findViewById(R.id.tel);//取得组件

this.content=(EditText)super.findViewById(R.id.content);//取得组件

this.addbut=(Button)super.findViewById(R.id.addbut);//取得组件

this.telbut=(Button)super.findViewById(R.id.telbut);//取得组件

this.mybut.setOnClickListener(newOnClickListenerlmpl());//设置发送短信按钮事件

this.addbut.setOnClickListener(newContactsOnClickListener());//设置查找联系按钮事件

this.telbut.setOnClickListener(newTelClickListener());//设置拨打电话号码事件

}

privateclassTelClickListenerimplementsOnClickListener{//拨号按钮

@Override

publicvoidonClick(Viewv){

StringtelStr=MainActivity.this.tel.getText().toString();//获取电话号码

Uriuri=Uri.parse("tel:"+telStr);//拨打电话号码的URI格式

Intentit=newIntent();//实例化Intent

it.setAction(Intent.ACTION_CALL);//指定Action

it.setData(uri);//设置数据

MainActivity.this.startActivity(it);//启动Acitivity

}

}

privateclassContactsOnClickListenerimplementsOnClickListener{//联系人查找按钮+

@Override

publicvoidonClick(Viewarg0){

Uriuri=Uri.parse("content://contacts/people");//连接URi

Intentit=newIntent(Intent.ACTION_PICK,uri);//指定Intent

MainActivity.this.startActivityForResult(it,PICK_CONTEACT_SUBACTIVITY);//调用Intent

}

}

@Override

protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){

switch(requestCode){

casePICK_CONTEACT_SUBACTIVITY://接受返回数据

Uriret=data.getData();//单个数据的URI

Stringselection=ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"=?";//查询条件

String[]selectionArgs={String.valueOf(ContentUris.parseId(ret))};//查询参数

Cursorresult=super.managedQuery(

ContactsContract.CommonDataKinds.Phone.CONTENT_URI,

null,selection,selectionArgs,null);//查询该联系人的全部号码

for(result.moveToFirst();!result.isAfterLast();result.moveToNext()){//循环取出号码

MainActivity.this.tel.setText(//设置到文本框中

result.getString(

result.getColumnIndex(

ContactsContract.CommonDataKinds.Phone.NUMBER)));

}

break;

}

}

privateclassOnClickListenerlmplimplementsOnClickListener{//发送短信按钮

@Override

publicvoidonClick(Viewv){

StringtelStr=MainActivity.this.tel.getText().toString();//取出电话号码

Stringnote=MainActivity.this.content.getText().toString();//取出短信内容

Uriuri=Uri.parse("smsto:"+telStr);//指定路径

Intentit=newIntent();//实例化Intent

it.setAction(Intent.ACTION_SENDTO);//指定Action

it.putExtra("sms_body",note);

it.setType("vnd.android-dir/mms-sms");

it.setData(uri);//设置数据

MainActivity.this.startActivity(it);//启动Activity

}

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

}

界面配置文件,采用线性布局内嵌表格布局activity_mian.xml

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<TableLayout

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TableRow>

<TextView

android:layout_width="90px"

android:layout_height="wrap_content"

android:text="号码:"/>

<EditText

android:id="@+id/tel"

android:layout_width="260px"

android:layout_height="wrap_content"

android:numeric="integer"/>

<Button

android:id="@+id/addbut"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="+"/>

</TableRow>

<TableRow>

<TextView

android:layout_width="90px"

android:layout_height="wrap_content"

android:text="内容:"/>

<EditText

android:id="@+id/content"

android:layout_width="260px"

android:layout_height="wrap_content"

android:gravity="top"

android:lines="6"/>

</TableRow>

</TableLayout>

<LinearLayout

android:orientation="horizontal"

android:gravity="center"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<Button

android:id="@+id/mybut"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="发送短信"/>

<Button

android:id="@+id/telbut"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="拨打电话"/>

</LinearLayout>

</LinearLayout>

权限设置AndroidManifest.xml

<?xmlversion="1.0"encoding="utf-8"?>

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.intentcaseproject"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk

android:minSdkVersion="10"

android:targetSdkVersion="10"/>

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">

<activity

android:name="com.example.intentcaseproject.MainActivity"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

</application>

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

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

</manifest>

版权声明:本文为博主原创文章,未经博主允许不得转载。

更多相关文章

  1. android之WebView的使用
  2. android view画图笔记-1
  3. Android滚动文字效果
  4. android之获得当前连接wifi的名字
  5. Android(安卓)实现旋转键盘的例子
  6. 基于Android的邮件收发
  7. android 学习笔记有用代码片段(2)
  8. Android(安卓)TV自定义通用标题栏(组合控件)
  9. Android实现CoverFlow效果三

随机推荐

  1. Android之RemoteViews篇上————通知栏
  2. 一大波 Android 刘海屏来袭,全网最全适配
  3. Android(安卓)GPS定位步骤
  4. Android–多线程之Handler下载图片源码
  5. Google 会变成移动手机公司吗?他们“自称
  6. cocos2dx Android 多级日志系统应用
  7. Android studio怎么使用代码检查工具Anal
  8. 联系人-选项-账户-进入已添加的账户,勾选
  9. Android(安卓)调试工具集
  10. Android Gradle系列-入门篇