电话拨号器

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:orientation="vertical"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".MainActivity">
  8. <LinearLayout
  9. android:layout_width="match_parent"
  10. android:layout_height="wrap_content">
  11. <EditText
  12. android:id="@+id/edt1"
  13. android:inputType="phone"
  14. android:hint="请输入电话号码"
  15. android:layout_weight="8"
  16. android:layout_width="wrap_content"
  17. android:layout_height="wrap_content" />
  18. <Button
  19. android:id="@+id/btn1"
  20. android:text="打电话"
  21. android:onClick="onCall"
  22. android:layout_weight="2"
  23. android:layout_width="wrap_content"
  24. android:layout_height="wrap_content" />
  25. </LinearLayout>
  26. <EditText
  27. android:id="@+id/edt2"
  28. android:inputType="textMultiLine"
  29. android:gravity="left|top"
  30. android:minLines="10"
  31. android:hint="请在此输入短信内容"
  32. android:layout_width="match_parent"
  33. android:layout_height="wrap_content" />
  34. <Button
  35. android:layout_gravity="right"
  36. android:id="@+id/btn2"
  37. android:text="发短信"
  38. android:onClick="onSendMsg"
  39. android:layout_width="wrap_content"
  40. android:layout_height="wrap_content" />
  41. </LinearLayout>

image.png

设计步骤

image.png

image.png

image.png
image.png

相关代码

  1. package com.bluelesson.phoneandmessage;
  2. import android.content.Intent;
  3. import android.net.Uri;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.telecom.Call;
  7. import android.view.View;
  8. import android.widget.EditText;
  9. import android.widget.TextView;
  10. public class MainActivity extends AppCompatActivity {
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. }
  16. public void onCall(View view) {
  17. //获取电话号码
  18. EditText editText = findViewById(R.id.edt1);
  19. String phone = editText.getText().toString();
  20. //1)创建一个意图对象
  21. Intent intent = new Intent();
  22. //2)设置打电话动作
  23. intent.setAction(Intent.ACTION_CALL);
  24. //3)打包数据,方人员Intent
  25. Uri uri = Uri.parse("tel:"+phone);
  26. intent.setData(uri);
  27. //4)根据意图对象启动对应activity
  28. startActivity(intent);
  29. }
  30. public void onSendMsg(View view) {
  31. }
  32. }

权限问题

image.png

短信发送器

image.png

image.png

image.png

相关代码

  1. package com.bluelesson.phoneandmessage;
  2. import android.content.Intent;
  3. import android.net.Uri;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.telecom.Call;
  7. import android.telephony.SmsManager;
  8. import android.view.View;
  9. import android.widget.EditText;
  10. import android.widget.TextView;
  11. import java.util.ArrayList;
  12. public class MainActivity extends AppCompatActivity {
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17. }
  18. public void onCall(View view) {
  19. //获取电话号码
  20. EditText editText = findViewById(R.id.edt1);
  21. String phone = editText.getText().toString();
  22. //1)创建一个意图对象
  23. Intent intent = new Intent();
  24. //2)设置打电话动作
  25. intent.setAction(Intent.ACTION_CALL);
  26. //3)打包数据,方人员Intent
  27. Uri uri = Uri.parse("tel:"+phone);
  28. intent.setData(uri);
  29. //4)根据意图对象启动对应activity
  30. startActivity(intent);
  31. }
  32. public void onSendMsg(View view) {
  33. //1.获取电话号码
  34. String phone = ((EditText)findViewById(R.id.edt1)).getText().toString();
  35. //2.获取短信内容
  36. String content = ((EditText)findViewById(R.id.edt2)).getText().toString();
  37. //3.获取SMS管理器对象
  38. SmsManager smsManager = SmsManager.getDefault();
  39. //4.拆分短信
  40. ArrayList<String> strings = smsManager.divideMessage(content);
  41. //5.发送短信
  42. smsManager.sendMultipartTextMessage(phone,null,strings,null,null);
  43. }
  44. }

权限问题

image.png