今天做的是手机拨号和短信发送app,本来是想要再加一个邮件功能的,但是死活不成功,这里就不在演示-。-
首先是APP的开始页面,有三个选择,一个是拨号,一个是短信,一个是邮件,但是因为邮件没有成功,所以大家还是忽略了吧!
我现在就一个个展示给大家看,首先是电话拨号部分,填好电话号码就可以尽心拨号,使用的是系统的拨号器,这个界面还有一个功能就是添加联系人,点一下联系人按键就可以跳转到系统添加联系人的界面
拨号器的主要代码
package com.example.bohao; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.ImageButton; import android.widget.Toast; public class MainActivity extends Activity { private EditText textResult; StringBuffer currentNum=new StringBuffer(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textResult=(EditText)findViewById(R.id.edittext1); } public void display(){ textResult.setText(currentNum.toString()); } public double stringToDouble(){ if(currentNum.length()==0) { return 0; } double result=Double.parseDouble(currentNum.toString()); return result; } public void digital_click(View view) { ImageButton btnDigital=(ImageButton)view; String text=btnDigital.getTag().toString(); currentNum.append(text); display(); } public void delete(View view) { if(currentNum.length()>=1) { currentNum.delete(currentNum.length()-1,currentNum.length()); } if(currentNum.length()==0) { Toast toast=Toast.makeText(this,"请输入号码",100); toast.show(); display(); } textResult.setText(currentNum); } public void dial(View view){ EditText text=(EditText)findViewById(R.id.edittext1); String number=text.getText().toString(); Intent intent=new Intent(); intent.setAction(intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+number)); startActivity(intent); } public void addContact(View view){ Intent it = new Intent(Intent.ACTION_INSERT,Uri.withAppendedPath(Uri.parse("content://com.android.contacts"),"contacts" )); it.setType("vnd.android.cursor.dir/person"); String number = textResult.getText().toString(); it.putExtra(android.provider.ContactsContract.Intents.Insert.SECONDARY_PHONE,number); startActivity(it); } @Override 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; } }
接下来是短信功能,短信就不用多说了,这里主要展示界面的源代码
接下来是源代码,本来是想搞一个来信提醒的,不过又失败了。。。。
package com.example.bohao; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.EditText; public class Message extends Activity { private EditText tel; private EditText content; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_message); tel=(EditText)findViewById(R.id.sjr); content=(EditText)findViewById(R.id.nr); } public void send (View view) { String telMsg=tel.getText().toString(); String contentMsg=content.getText().toString(); Uri uri=Uri.parse("smsto:"+telMsg);//接收人手机 Intent it=new Intent(); it.setAction(Intent.ACTION_SENDTO); it.setAction(Intent.ACTION_SENDTO);//指定action,我要发短信 it.putExtra("sms_body", contentMsg);//设置信息内容 it.setType("vnd.android-dir/mms-sms") ;//设置MIME类型 it.setData(uri);//设置数据,要去的地方 Message.this.startActivity(it); } //来信提醒部份,失败 public void show(StringBuffer SMSAddress,StringBuffer SMSContent) { NotificationManager notificationmanager=(NotificationManager)getSystemService(Activity.NOTIFICATION_SERVICE); Notification notification=new Notification(R.drawable.ic_launcher,SMSAddress,System.currentTimeMillis()); PendingIntent contentIntent=PendingIntent.getActivity(this, 0, getIntent(), PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(this, SMSAddress, SMSContent, contentIntent); notificationmanager.notify("qq", R.drawable.ic_launcher, notification); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.message, menu); return true; } }
这次代码比较简单,都是调用一些封装好的东西,所以虽然用起来很方便,但是很难理解。因为都是调用系统的东西,所以这次就不做拓展了,也许是做的都是失败的原因吧QAQ