当前位置: 代码迷 >> 移动开发 >> 制作垃圾短信
  详细解决方案

制作垃圾短信

热度:6359   发布时间:2013-02-26 00:00:00.0
制造垃圾短信
往系统中插入一条短信息,然后在通知栏中通知,点击通知栏后可以在系统短信列表中出现,就这样制造了一条垃圾短信了。
虽然不知道是不是所有的机器都适合,但至少有成功的。首选,往数据库中插入一条短信:String message="message content";        String fromAddress="130000";        Uri uri=insertSms(fromAddress, message);Uri insertSms(String fromAddress, String message) {        ContentValues values=new ContentValues();        values.put("address", fromAddress);        values.put("body", message);        //values.put("date", "20130121"); //不放时间就表示是当前的时间,        values.put("read", 0);        values.put("type", 1);        //values.put("service_center", "+86161776500");        Uri uri=getContentResolver().insert(mSmsUri, values);        Log.d("", "uri:"+uri);        return uri;    }接着制造通知:Notification.Builder notification=new Notification.Builder(SmsSendIntentTestActivity.this)            .setTicker(message)            .setWhen(System.currentTimeMillis())            .setContentTitle(fromAddress)            .setContentText(message)            .setAutoCancel(true)            .setSmallIcon(R.drawable.angel)            .setContentIntent(createDisplayMessageIntent(SmsSendIntentTestActivity.this, fromAddress, message,                notificationId, uri));具体的通知创建:private PendingIntent createDisplayMessageIntent(Context context, String fromAddress,        String message, int notificationId, Uri uri) {        Intent smsIntent=new Intent(Intent.ACTION_MAIN);//这里调用的是Main intent,如果是view就会到另一个显示界面中,暂时也不知道如何调用,把threadid查询到放进去,总是不成功,所以只到短信列表中。        smsIntent.addCategory(Intent.CATEGORY_DEFAULT);        smsIntent.setType("vnd.android-dir/mms-sms");         PendingIntent pendingIntent=PendingIntent.getActivity(context, 0, smsIntent, 0);        return pendingIntent;    }这样,一条垃圾短信就制造成功了,与系统短信不同的是,比如4.2.1系统通知栏会有回复,已读等按钮,这里就没有了。还要自定义一个通知,把系统短信的图标拿来用就好了。如果系统版较低,通知要修改下:Intent smsIntent=new Intent(Intent.ACTION_MAIN);        smsIntent.addCategory(Intent.CATEGORY_DEFAULT);        smsIntent.setType("vnd.android-dir/mms-sms");        PendingIntent mPendingIntent=PendingIntent.getActivity(SmsSendIntentTestActivity.this, 0, smsIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);        mNotification.setLatestEventInfo(SmsSendIntentTestActivity.this, fromAddress, message, mPendingIntent);        //发送通知        notificationManager.notify(notificationId, mNotification);
  相关解决方案