学习笔记7-Android短信发送器

新建一个Android项目sns。

在String.xml添加文字

<resources>

 

   <string name="app_name">Sns发送短信</string>

   <string name="hello">Hello World, MainActivity!</string>

   <string name="number">输入手机号</string>

   <string name="content">请输入短信内容</string>

   <string name="button">发送</string>

   <string name="success">发送完成</string>

 

</resources>

设置界面main.xml

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

 

   <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/number" />

   

   <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:id="@+id/number"/>

   

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/content" />

    

   <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:minLines="3"

        android:id="@+id/content"/>

   

   <Button

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/button"

        android:id="@+id/button"/>

</LinearLayout>

 

设置按钮点击事件

public class MainActivity extends Activity {

    private EditText numberText;

    private EditText contentText;

   

    @Override

    public void onCreate(BundlesavedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

       

        numberText = (EditText) this.findViewById(R.id.number);

        contentText = (EditText) this.findViewById(R.id.content);

        Button button = (Button) this.findViewById(R.id.button);

        button.setOnClickListener(new ButtonClckListener());

    }

   

    private final class ButtonClckListener implements View.OnClickListener{

 

        public void onClick(View v){

            String number = numberText.getText().toString();

            String content = contentText.getText().toString();

           

            SmsManager manager =SmsManager.getDefault();

            ArrayList<String> texts =manager.divideMessage(content);

            for (String text : texts) {

                // 后两个参数 sentIntent, deliveryIntent (发送状态,是否收到短信状态

                manager.sendTextMessage(number, null, text, null, null);

            }

            Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG).show();

        }

   

    }

}

 

发送成功的三种通知

1.      状态栏通知

2.      对话框通知

3.          吐西(Toast)(弹出发送成功,一秒自动消失)

设置权限

发送短信要设置权限,我们在sdk在docs→index.html

技术分享

这里可以看到所有的权限搜索send sms可以看到发短信的权限

可以找到

技术分享

然后可以在manifest申请权限(manifest节点下)

<uses-permission android:name="android.permission.BROADCAST_SMS"/>

安装应用测试

给另外一台模拟器发送短信。

发送成功的Toast效果

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。