2010.10.26———Android 01



内容一
******************************
电话拨打
******************************
权限
<uses-permission android:name="android.permission.CALL_PHONE" />

过滤

要想激发电话拨打的activity 就必须符合它所定义的intent
在platforms\android-8\sources\Phone\AndroidManifest.xml的126行

<activity android:name="OutgoingCallBroadcaster"                android:permission="android.permission.CALL_PHONE"                android:theme="@android:style/Theme.NoDisplay"                android:configChanges="orientation|keyboardHidden">            <!-- CALL action intent filters, for the various ways                 of initiating an outgoing call. -->            <intent-filter>                <action android:name="android.intent.action.CALL" />                <category android:name="android.intent.category.DEFAULT" />                <data android:scheme="tel" />            </intent-filter>            。。。。            。。。。</activity>  


所以:
Intent intent = new Intent();intent.setAction("android.intent.action.CALL");intent.setData(Uri.parse("tel:"+number));MainActivity.this.startActivity(intent);



布局文件
main.xml


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextViewandroid:text="@string/phone_title"android:layout_width="fill_parent"android:layout_height="wrap_content"/><RelativeLayout android:layout_width="fill_parent"    android:layout_height="fill_parent"><EditTextandroid:id="@+id/phone_number"android:layout_width="fill_parent"android:layout_height="wrap_content"/><Buttonandroid:id="@+id/phone_submit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/phone_button"android:layout_below="@id/phone_number"android:layout_alignParentRight="true"android:layout_marginRight="10dip"/></RelativeLayout></LinearLayout>


清单文件
AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="lp.phone"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".MainActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-sdk android:minSdkVersion="8" /><uses-permission android:name="android.permission.CALL_PHONE" /></manifest> 



Activity文件

package lp.phone;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {    /** Called when the activity is first created. */private Button button;private EditText editText;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        this.button = (Button)this.findViewById(R.id.phone_submit);        this.editText = (EditText)this.findViewById(R.id.phone_number);        this.button.setOnClickListener(new ButtonClickListener());    }        private class ButtonClickListener implements OnClickListener{@Overridepublic void onClick(View v) {String number = editText.getText().toString();Intent intent = new Intent();intent.setAction("android.intent.action.CALL");intent.setData(Uri.parse("tel:"+number));MainActivity.this.startActivity(intent);}        }}






内容二
******************************
短信发送
******************************

权限
<uses-permission android:name="android.permission.SEND_SMS" />


布局文件
main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/phone"    />    <EditText    android:id="@+id/phone"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    />    <TextView    android:text="@string/sms"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    />    <EditText    android:id="@+id/sms"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    />    <Button    android:id="@+id/send"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/button"    /></LinearLayout>



清单文件
AndroidManifest.xm
l

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="lp.sms"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".MainActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-sdk android:minSdkVersion="8" />    <uses-permission android:name="android.permission.SEND_SMS" /></manifest> 


Activity文件

package lp.sms;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.telephony.SmsManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {    /** Called when the activity is first created. */private Button send;private EditText phone;private EditText sms;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        this.send = (Button)this.findViewById(R.id.send);        this.phone = (EditText)this.findViewById(R.id.phone);        this.sms = (EditText)this.findViewById(R.id.sms);        this.send.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {String phone_num = MainActivity.this.phone.getText().toString();String sms_str = MainActivity.this.sms.getText().toString();//注意短信可能被分成若干条//短息和打电话一样 也需要权限SmsManager manager = SmsManager.getDefault();ArrayList<String> messages = manager.divideMessage(sms_str);for(String msg : messages){manager.sendTextMessage(phone_num, null, msg, null, null);}//1 代表显示长会  0 代表显示短会//切记showToast.makeText(MainActivity.this, R.string.sendComplate, 1).show();}                });    }}

更多相关文章

  1. Android(安卓)Launcher2 allapps.rs
  2. Android学习笔记 - 控件篇
  3. Android编译过程详解(二)
  4. TextView 实现 滚动条
  5. Android(安卓)Framework中添加AIDL文件编译
  6. Android布局文件layout.xml的一些属性值
  7. Android编译过程详解(三)
  8. cocos2d-x & Android(安卓)环境配置笔记
  9. How to add a new keycode in android

随机推荐

  1. 学习Android之用户界面基础
  2. Unity编译Android的原理解析和apk打包分
  3. ffmpeg2.2在ubuntu下使用NDK编译——并在
  4. Android倒计时定时器CountDownTimer的用
  5. 深入了解android平台的jni(一)
  6. android相册选择图片的编码实现
  7. Android源码分析:TabHost
  8. webapp打包为Android的apk包的一种方法
  9. Android蓝牙开发的一些经验
  10. Android热修复之Tinker