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(安卓)---------- Android(安卓)Bar Bug 总结
  2. Android自定义dialog弹出布局
  3. Android设置Button保持Press的状态
  4. checkbox切换选中状态的图片
  5. Android(安卓)欢迎界面淡出动画效果(Animation)
  6. android 动画
  7. android音乐播放器常见操作
  8. Android(安卓)控件之一:Button 按钮
  9. android 自定义对话框 背景透明

随机推荐

  1. 解决android sdk中找不到tools目录Androi
  2. 用ant实现自动打包android(二) -- android
  3. Android(安卓)6.0权限动态获取
  4. Android禁止Edittext弹出软件盘,光标依然
  5. android 开发-Process and Thread
  6. Android(安卓)判断是否能真正上网
  7. Error inflating class android.support.
  8. android volley https
  9. Android获取程序路径 (/data/data/appname
  10. Ubuntu 14.04烧Nexus 5手机