Android入门之简单短信发送器
2023-03-14 10:16:19 时间
效果图:
manifest.xml 文件中加入 <uses-permission android:name="android.permission.SEND_SMS"/>
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">sms</string> <string name="action_settings">Settings</string> <string name="number">请输入手机号</string> <string name="content">请输入文本</string> <string name="button">发送</string> <string name="success">短信发送成功!</string> </resources>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/number" /> <EditText android:id="@+id/numberText" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/content" /> <EditText android:id="@+id/contentText" android:layout_width="match_parent" android:layout_height="wrap_content" android:minLines="3" /> <Button android:id="@+id/Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" /> </LinearLayout>
package jk.sms; import java.util.ArrayList; import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.view.Menu; 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 { private EditText NumberText; private EditText ContentText; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NumberText = (EditText) this.findViewById(R.id.numberText); ContentText = (EditText) this.findViewById(R.id.contentText); Button button = (Button) this.findViewById(R.id.Button); button.setOnClickListener(new ButtonClickListener()); } @SuppressLint("ShowToast") private final class ButtonClickListener implements 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 (int i = 0; i < texts.size(); i++) { manager.sendTextMessage(number, null, content, null, null); } Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG); } } public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章
- LibreOffice 7.5 发布:漂亮的新应用图标和酷炫功能
- elementary OS 7 发布
- Windows 应用兼容层 Wine 8.1 发布:默认启用“Windows 10”前缀
- 微软正测试新功能:当 Windows 11 有新的小组件可用时会提醒通知
- 解析分布式存储选型和应用九个典型问题
- ClickHouse在自助行为分析场景的实践应用
- Chrome DevTools 远程调试安卓网页的原理
- Uni-app + Vue3 页面如何跳转及传参?
- 微软证实系统还原点会损坏 Windows 11 22H2 版本应用程序
- 巧用 Transition 实现短视频 APP 点赞动画
- 初学者试试,HarmonyOS应用开发者基础认证
- 媒体实测微软 Windows 开发工具包 2023:存在不兼容 HDR 显示器、某些应用无法运行等问题
- 快速了解Navigator API SetAppBadge
- 微软 Windows 11 Dev 预览版 Build 25276 发布,应用兼容问题对话框 UI 改进
- 基于Next.js、Prisma、Postgres和Fastfy构建全栈APP
- 开始菜单搜索框变圆角,微软 Windows 11 Beta 预览版 22621.1095 和 22623.1095 发布
- 2022-2023 十大应用开发趋势
- 观远数据发布业内首部《移动BI白皮书》,深入业务数字化场景重新定义移动BI
- Windows 10 学院:不借助第三方工具如何卸载 Windows 10 预装应用
- 正处高质量发展期,我国大数据产业突破1.3万亿元