2010.10.26———Android(安卓)01
16lz
2021-12-04
2010.10.26———Android 01
内容一
******************************
电话拨打
******************************
权限
过滤
要想激发电话拨打的activity 就必须符合它所定义的intent
在platforms\android-8\sources\Phone\AndroidManifest.xml的126行
所以:
布局文件
main.xml
清单文件
AndroidManifest.xml
Activity文件
内容二
******************************
短信发送
******************************
权限
布局文件
main.xml
清单文件
AndroidManifest.xml
Activity文件
内容一
******************************
电话拨打
******************************
权限
<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.xml
<?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();} }); }}
更多相关文章
- FFmpeg交叉编译
- 安卓NDK的开发
- 2010.10.26———Android(安卓)01
- android 权限示例
- Android(安卓)Launcher2 allapps.rs
- Android学习笔记 - 控件篇
- Android编译过程详解(二)
- TextView 实现 滚动条
- Android(安卓)Framework中添加AIDL文件编译