短信发送器
- 共同点:都是有2个页面 都是从A页面跳转到B页面 并且把A页面的数据传递到B页面
- 短信发送器也是2个页面,A页面开启B页面,当B页面关闭的时候,把B页面的数据返回给A
- 代码实现过程
- 画UI
-
- mainActivity逻辑
public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private EditText etPhone; private EditText etContent; @Override protected void onCreate(Bundle savedInstanceState) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, 1); } super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etPhone = findViewById(R.id.ETphone); etContent = findViewById(R.id.etContent); } public void phone(View view) { Intent intent = new Intent(this, PhoneActivity.class); startActivityForResult(intent, 521); } public void sms(View view) { Intent intent = new Intent(this, SmsActivity.class); startActivityForResult(intent, 520); } public void send(View view) { String phone = etPhone.getText().toString().trim(); String sms = etContent.getText().toString().trim(); Log.d(TAG, "send: " + phone + "=====" + sms); SmsManager smsManager = SmsManager.getDefault(); ArrayList<String> smss = smsManager.divideMessage(sms); for (String ss : smss) { smsManager.sendTextMessage(phone, null, ss, null, null); } Toast.makeText(this, "短信发送成功", Toast.LENGTH_SHORT).show(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == 520) { String sms = data.getStringExtra("sms"); etContent.setText(sms); } if (resultCode == 521) { String phone = data.getStringExtra("phone"); etPhone.setText(phone); } } }
-
- 联系人页面逻辑:
public class SmsActivity extends Activity { private String[] smss = { "欲,寄一份情,陪在远方的你。欲,借一首曲,陪若在眼前的你。欲,给一颗心,陪在我心底的你,欲,用这一生,爱慕只在乎的你。", "白色情人节,送你七彩画卷:红色是爱恋,热情只增不减;橙色是希望,放飞共同梦想;黄色是幸福,执手浪漫一生;绿色是信任,忠于彼此不变;蓝色是思念,时刻心儿相连;靛蓝是自由,用责任去守侯;紫色是关爱,体贴照顾不烦。亲爱的,情人节快乐!", "偷我情,盗我心,决定告你上法庭,判你终生嫁给我;懂我心,明我意,跟我办理结婚证;爱上你,恋上你,天天都想拥有你!", "一条红线把缘牵,两情相悦把爱恋,三顾茅庐把你约,四面楚歌情敌战,五花八门哄你欢,六神无主看见你,七上八下想娶你,九死一生都爱你,十全十美来联姻。嫁给我,你就是我的唯一。", "不经意间,相遇;不经意间,相惜;不经意间,刻骨;不经意间,铭记;不经意间,爱上了你。看似不经意,但我真的很在意。", "等待一次日出,需要一天;等待一次月圆,需要一月;等待一次花开,需要一年;等待一次“爱你一生一世”,需要一辈子。亲爱的,你的一辈子,请让我来承担。" }; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list); ListView lv = findViewById(R.id.lv); lv.setAdapter(baseAdapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Intent intent = new Intent(); intent.putExtra("sms", smss[i]); setResult(520, intent); finish(); } }); } private BaseAdapter baseAdapter = new BaseAdapter() { @Override public int getCount() { return smss.length; } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if (view == null) { view = new TextView(getApplicationContext()); } ((TextView) view).setTextColor(Color.BLACK); ((TextView) view).setTextSize(23f); ((TextView) view).setText(smss[i]); return view; } }; }
-
- 短信模板页面逻辑
public class PhoneActivity extends Activity { private String name[] = {"公安", "医院", "火警", "移动客服", "南宫燚滨"}; private String phone[] = {"110", "120", "119", "10086", "18534867219"}; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list); ListView lv = findViewById(R.id.lv); lv.setAdapter(baseAdapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Intent intent = new Intent(); intent.putExtra("phone", PhoneActivity.this.phone[i]); setResult(521, intent); finish(); } }); } private BaseAdapter baseAdapter = new BaseAdapter() { @Override public int getCount() { return name.length; } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if (view == null) { view = View.inflate(getApplicationContext(), R.layout.item, null); } TextView tv1 = view.findViewById(R.id.tv1); TextView tv2 = view.findViewById(R.id.tv2); tv1.setText(name[i]); tv2.setText(phone[i]); return view; } }; }