在线咨询
微信咨询
服务热线
服务热线:15639912513
TOP
当前位置:
首页 > 新闻中心> 安卓课堂>android短信发送器案例

android短信发送器案例

发布时间:2020-02-16 浏览:3409次

郑州app开发android短信发送器。在这个案例中,比较重要的是这两个函数。onActivityResult和setResult。还有显示意图的应用。

MainActivity.java代码

package cn.xhhkj.cyd;


import androidx.appcompat.app.AppCompatActivity;


import android.app.PendingIntent;

import android.content.Intent;

import android.os.Bundle;

import android.telephony.SmsManager;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;


public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private static final int GET_CONTACT_REQ = 1;

    private static final int GET_REPLY_REQ = 3;

    private EditText et_number;

    private EditText et_content;

    private Button btn_contact;

    private Button btn_reply;

    private Button btn_send;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        et_number = findViewById(R.id.et_number);

        et_content = findViewById(R.id.et_smsContent);


        btn_contact = findViewById(R.id.btn_contact);

        btn_reply = findViewById(R.id.btn_reply);

        btn_send =  findViewById(R.id.btn_send);


        btn_contact.setOnClickListener(this);

        btn_reply.setOnClickListener(this);

        btn_send.setOnClickListener(this);

    }

    @Override

    public void onClick(View v){

        int id = v.getId();

        switch (id){

            case R.id.btn_contact:

                Intent intent = new Intent(getApplicationContext(),ContactActivity.class);

                startActivityForResult(intent, GET_CONTACT_REQ);

                break;

            case R.id.btn_reply:

                Intent intent2 = new Intent(getApplicationContext(),ReplyActivity.class);

                startActivityForResult(intent2, GET_REPLY_REQ);

                break;

            case R.id.btn_send:

                SmsManager manager = SmsManager.getDefault();

                String destinationAddress = et_number.getText().toString().trim();

                String scAddress = null;

                String text = et_content.getText().toString().trim();

                PendingIntent sentIntent = null;

                PendingIntent deliveryIntent = null;

                manager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent);

                break;

        }

    }

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data){

        super.onActivityResult(requestCode, resultCode, data);

        if(data==null){

            return;

        }

        switch (requestCode){

            case GET_CONTACT_REQ:

                String phone = data.getStringExtra("phone");

                et_number.setText(phone);

                break;

            case GET_REPLY_REQ:

                String extra = data.getStringExtra("content");

                et_content.setText(extra);

                break;

        }

    }

}

ContactActivity.java代码


package cn.xhhkj.cyd;


import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.ListView;

import android.widget.TextView;


import java.util.ArrayList;


public class ContactActivity extends Activity {

    protected static final int GET_CONTACT_RES = 2;

    private ArrayList<Contact> contacts = new ArrayList<Contact>();

    @Override

    protected void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_contact);

        ListView lv_contact = (ListView) findViewById(R.id.lv_contact);

        for(int i = 0;i<20;i++){

            Contact contact = new Contact();

            contact.name="zhangsan"+i;

            contact.phone = "138888888"+i;

            contacts.add(contact);

        }

        MyAdapter adapter = new MyAdapter();

        lv_contact.setAdapter(adapter);

        lv_contact.setOnItemClickListener(new AdapterView.OnItemClickListener() {


            @Override

            public void onItemClick(AdapterView<?> parent, View view,

                                    int position, long id) {


                Contact contact = contacts.get(position);

                Intent data = new Intent();

                data.putExtra("phone", contact.phone);


                setResult(GET_CONTACT_RES, data);


                finish();


            }

        });

    }

    @Override

    public void onBackPressed(){


    }

    private class MyAdapter extends BaseAdapter {

        @Override

        public int getCount() {

            // TODO Auto-generated method stub

            return contacts.size();

        }

        @Override

        public Object getItem(int position) {

            // TODO Auto-generated method stub

            return contacts.get(position);

        }

        @Override

        public long getItemId(int position) {

            // TODO Auto-generated method stub

            return position;

        }

        @Override

        public View getView(int position, View convertView, ViewGroup parent) {

            View view = null;

            if(convertView == null){

                view = View.inflate(getApplicationContext(), R.layout.item_contact, null);

            }else{

                view = convertView;

            }


            TextView tv_name = (TextView) view.findViewById(R.id.tv_name);

            TextView tv_phone = (TextView) view.findViewById(R.id.tv_phone);


            Contact contact = contacts.get(position);


            tv_name.setText(contact.name);

            tv_phone.setText(contact.phone);

            return view;

        }

    }

}

ReplyActivity.java代码

package cn.xhhkj.cyd;


import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.ListView;


public class ReplyActivity extends Activity {

    private String[] smss ={"111","222","333","444","555","666","777"};

    @Override

    protected void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_reply);

        ListView lv_reply = (ListView) findViewById(R.id.lv_reply);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.item_reply, smss);

        lv_reply.setAdapter(adapter);

        lv_reply.setOnItemClickListener(new AdapterView.OnItemClickListener(){


            @Override

            public void onItemClick(AdapterView<?> parent, View view,

                                    int position, long id) {


                String result = smss[position];


                Intent data = new Intent();

                data.putExtra("content", result);

                setResult(4,data);


                finish();

            }

        });

    }

}

Contact.java代码

package cn.xhhkj.cyd;


public class Contact {


    public String name;

    public String phone;

    @Override

    public String toString() {

        return "Contact [name=" + name + ", phone=" + phone + "]";

    }



}

布局代码就简单很多了

activity_main.xml

{RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

                xmlns:tools="http://schemas.android.com/tools"

                android:layout_width="match_parent"

                android:layout_height="match_parent"

                tools:context=".MainActivity" }

    {Button

            android:id="@+id/btn_contact"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"

            android:text="+" /}


    {EditText

            android:id="@+id/et_number"

            android:layout_toLeftOf="@id/btn_contact"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:inputType="numberSigned"

            android:hint="请输入电话号码" /}

    {EditText

            android:layout_marginTop="10dp"

            android:layout_below="@id/et_number"

            android:id="@+id/et_smsContent"

            android:layout_width="match_parent"

            android:layout_height="240dp"

            android:hint="请输入短信内容"

            android:gravity="top"

            /}

    {Button

            android:layout_below="@id/et_smsContent"

            android:id="@+id/btn_reply"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="快速回复"/}

    {Button

            android:layout_below="@id/btn_reply"

            android:id="@+id/btn_send"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="发送短信"/}

{/RelativeLayout}

由于网站篇幅有限,再加上视图布局没有什么好做的,就不粘贴了,以下是个运行的图片,仅供参考。

a.png 


TAG
3409
该内容对我有帮助