终于到了这个章节啦,前面监控女朋友男朋友的队友们是不是很兴奋啊,现在可以实时发送短信给自己获取
信息了,那么第一步就是:
- 在程序中设置自己的手机号
Uri uri=Uri.parse("smsto"+telMsg);//接收人手机
- 发送内容 it.putExtra("sms_body", contentMsg);//设置信息内容
- 要发送短信要设置MIME类型 it.setType("vnd.android_dir/mms-sms");//设置MIME类型
布局文件:
<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" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="收信人:" />
<EditText
android:id="@+id/tel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus android:layout_width="wrap_content" />
</EditText>
<View
android:layout_width="wrap_content"
android:layout_height="2px"
android:background="#FF909090"
/>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="内容:" />
<EditText
android:id="@+id/content"
android:lines="6"
android:layout_width="260px"
android:layout_height="wrap_content"
android:ems="10" />
</TableRow>
</TableLayout>
<View
android:layout_height="2px"
android:background="#FF909090"
/>
<Button
android:id="@+id/send"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="send"
android:text="发送短信" />
</LinearLayout>
此处看到按键已经绑定监听方法send
Activity:
package com.example.sendmsg;
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;
public class MainActivity extends Activity {
private EditText tel=null;
private EditText content=null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.tel=(EditText)super.findViewById(R.id.tel);
this.content=(EditText)super.findViewById(R.id.content);
}
public void send(View view){
String telMsg=MainActivity.this.tel.getText().toString();
String contentMsg=MainActivity.this.content.getText().toString();
Uri uri=Uri.parse("smsto:"+telMsg);//接收人手机
Intent it=new Intent();
it.setAction(Intent.ACTION_SENDTO);//指定action,我要发短信
it.putExtra("sms_body", contentMsg);//设置信息内容
it.setType("vnd.android-dir/mms-sms") ;//设置MIME类型
it.setData(uri);//设置数据,要去的地方
//
// Uri uri = Uri.parse("smsto:" + telMsg) ;// 设置操作的路径
// Intent it = new Intent() ;
// it.setAction(Intent.ACTION_SENDTO) ; // 设置要操作的Action
// it.putExtra("sms_body",contentMsg) ; // 设置短信内容
// it.setType("vnd.android-dir/mms-sms") ; // 短信的MIME类型
// it.setData(uri) ; // 要设置的数据
// Uri uri = Uri.parse("file:///storage/extSdCard/DCIM/Camera/mypic.jpg") ; // 设置操作的路径
// Intent it = new Intent() ;
// it.setAction(Intent.ACTION_SEND) ; // 设置要操作的Action
// it.putExtra("address","10086") ; // 设置短信内容
// it.putExtra("sms_body","今天在天马吃了螺蛳粉啊") ; // 设置短信内容
// it.putExtra(Intent.EXTRA_STREAM, uri); // 设置短信内容
// it.setType("image/png") ; // 短信的MIME类型
//
//
MainActivity.this.startActivity(it);
}
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;
}
}
实现效果如下:
接下来我们实现发送一条彩信,实现方法异曲同工:
只需要在代码中改动如下即可:
Uri uri = Uri.parse("file:///storage/extSdCard/DCIM/Camera/mypic.jpg") ; // 设置操作的路径
Intent it = new Intent() ;
it.setAction(Intent.ACTION_SEND) ; // 设置要操作的Action
it.putExtra("address","10086") ; // 设置短信内容
it.putExtra("sms_body","今天在天马吃了螺蛳粉啊") ; // 设置短信内容
it.putExtra(Intent.EXTRA_STREAM, uri); // 设置短信内容
it.setType("image/png") ; // 短信的MIME类型
MainActivity.this.startActivity(it);
这里我们已经定死了发送号码:
实现效果如下:
当然这里我们只是调用短信程序,想要发送还是自己操作,这样的话就达不到自动监控的目的,用户如果想学习自己直接发送程序涉及到后面得Service组件学习,所以一起努力吧