Android 는 Intent 의 Action 과 Data 속성 을 사용 하여 버튼 을 누 르 면 전 화 를 걸 고 문자 메 시 지 를 보 내 는 인터페이스 로 이동 합 니 다.

장면
전화 걸 기 버튼 을 누 르 면 전화 걸 기 페이지 로 이동 합 니 다.

문자 보 내기 버튼 을 누 르 면 문자 보 내기 페이지 로 이동 합 니 다.

주:
이루어지다
레이아웃 을 Linear Layout 으로 바 꾸 고 android:orientation="vertical"> 을 통 해 수직 레이아웃 으로 설정 한 다음 id 속성 을 추가 합 니 다.
그리고 두 개의 단 추 를 추가 하고 Id 속성 과 텍스트 를 표시 합 니 다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context=".IntentActivity">
  <Button
    android:id="@+id/call"
    android:text="    "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  <Button
    android:id="@+id/send"
    android:text="    "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
</LinearLayout>
그리고 Activity 에 와 서 먼저 ID 를 통 해 버튼 두 개 를 가 져 옵 니 다.

 Button buttonCall = (Button) findViewById(R.id.call);
    Button buttonSend = (Button) findViewById(R.id.send);
또한 이 두 Button 의 클릭 이벤트 감청 기 차이 가 많 지 않 기 때문에 모든 공공 클릭 이벤트 감청 기 대상 을 추출 합 니 다.

View.OnClickListener listener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      Intent intent = new Intent();
      // view   Button
      Button button = (Button) v;
      //  button id
      switch(button.getId()){
        //         
        case R.id.call:
          //  Action    
          intent.setAction(intent.ACTION_DIAL);
          //       123456789         
          intent.setData(Uri.parse("tel:123456789"));
          startActivity(intent);
          break;
        case R.id.send:
          //          
          intent.setAction(intent.ACTION_SENDTO);
          //      10086
          intent.setData(Uri.parse("smsto:10086"));
          //           
          intent.putExtra("sms_body","   :      ");
          startActivity(intent);
          break;
      }
    }
  };
그리고 OnCreate 에서 단 추 를 누 르 면 이벤트 모니터 를 설정 합 니 다.
전체 예제 코드

package com.badao.relativelayouttest;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class IntentActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_intent);
    Button buttonCall = (Button) findViewById(R.id.call);
    Button buttonSend = (Button) findViewById(R.id.send);
    buttonCall.setOnClickListener(listener);
    buttonSend.setOnClickListener(listener);
  }
  View.OnClickListener listener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      Intent intent = new Intent();
      // view   Button
      Button button = (Button) v;
      //  button id
      switch(button.getId()){
        //         
        case R.id.call:
          //  Action    
          intent.setAction(intent.ACTION_DIAL);
          //       123456789         
          intent.setData(Uri.parse("tel:123456789"));
          startActivity(intent);
          break;
        case R.id.send:
          //          
          intent.setAction(intent.ACTION_SENDTO);
          //      10086
          intent.setData(Uri.parse("smsto:10086"));
          //           
          intent.putExtra("sms_body","   :      ");
          startActivity(intent);
          break;
      }
    }
  };
}
전화 와 문자 메 시 지 를 사용 하기 때문에 이 두 가지 권한 을 설명 하고 AndroidMainfest.xml 을 켜 야 합 니 다.

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

총결산
위 에서 말 한 것 은 편집장 이 소개 한 안 드 로 이 드 가 Intent 의 Action 과 Data 속성 을 사용 하여 버튼 을 누 르 면 전 화 를 걸 고 문자 메 시 지 를 보 내 는 인터페이스 로 이동 합 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기