发手机短信平台什么消除两个短信,联系人系统

宿主手机联系人、通话记录、短信工具类
对于手机的联系人、短信、通话记录的一些列的方法,着实需要总结下了
我公司最近在做跟这相关的项目,这个博客后续会完善这3个模块的工具类方法
1、查询contacts表获取contactId, 通过contact_id去获取data表中相应的数据
* 通过contactId从data表中获取联系人信息 Uri uri =
* Uri.parse(&content://com.android.contacts/contacts/#/data&);
* 查询contacts表获取contactId, 通过contact_id去获取data表中相应的数据
public static void getContactInfoFromDataByContactId(Context mContext) {
// 访问contacts表
Uri uri = Uri.parse(&content://com.android.contacts/contacts&);
ContentResolver resolver = mContext.getContentResolver();
// 获得contact_id属性
Cursor cursor = resolver.query(uri, new String[] { Data._ID }, null,
null, null);
if (cursor != null && cursor.getCount() & 0) {
while (cursor.moveToNext()) {
int contactId = cursor.getInt(0);
// 通过contact_id,去获取data表中对应的值
uri = Uri.parse(&content://com.android.contacts/contacts/&
+ contactId + &/data&);
Cursor cursor2 = resolver.query(uri, new String[] { Data.DATA1,
Data.DATA15, Data.MIMETYPE }, null, null, null); // data1存储各个记录的总数据,mimetype存放记录的类型,如电话、email等
while (cursor2.moveToNext()) {
String data = cursor2.getString(cursor2
.getColumnIndex(&data1&));
byte[] photo = cursor2.getBlob(cursor2
.getColumnIndex(&data15&));
if (cursor2.getString(cursor2.getColumnIndex(&mimetype&))
.equals(&vnd.android.cursor.item/name&)) { // 如果是名字
Log.i(&TAG&, &name& + data);
} else if (cursor2.getString(
cursor2.getColumnIndex(&mimetype&)).equals(
&vnd.android.cursor.item/phone_v2&)) { // 如果是电话
Log.i(&TAG&, &phone& + data);
else if (cursor2.getString(
cursor2.getColumnIndex(&mimetype&)).equals(
&vnd.android.cursor.item/photo&)) { // 如果是电话
Log.i(&TAG&, &photo& + photo.length);
Log.i(&TAG&, &--------------------&);
2、获取联系人头像的3种方式
/*************************************************************
* 1、获取联系人头像
* 通过contactId获取联系人头像 查询contacts表获取contactId,
* 通过contact_id去获取data表中相应的photo数据
public static Bitmap getContactPhotoFromDataByContactId(Context mContext,
String contactId) {
Bitmap bitmap =
// 访问contacts表
Uri uri = Uri.parse(&content://com.android.contacts/contacts/&
+ contactId + &/data&);
Cursor cursor = mContext.getContentResolver().query(uri,
new String[] { Data.DATA15, Data.MIMETYPE }, null, null, null); // data1存储各个记录的总数据,mimetype存放记录的类型,如电话、email等
if (cursor != null && cursor.getCount() & 0) {
// 通过contact_id,去获取data表中对应的值
while (cursor.moveToNext()) {
byte[] photoByte = cursor.getBlob(cursor
.getColumnIndex(&data15&));
if (cursor.getString(cursor.getColumnIndex(&mimetype&)).equals(
&vnd.android.cursor.item/photo&)) { // 如果是电话
Log.i(&TAG&, &photo& + photoByte.length);
bitmap = BitmapFactory.decodeByteArray(photoByte, 0,
photoByte.length);
/**2、获取联系人头像
* 通过contactId获取联系人头像
* openContactPhotoInputStream进行读取操作
public static Bitmap getContactPhotoByOpenContactPhotoInputStream(
Context mContext, String contactId) {
Uri uri = ContentUris.withAppendedId(
ContactsContract.Contacts.CONTENT_URI,
Long.parseLong(contactId));
InputStream input = ContactsContract.Contacts
.openContactPhotoInputStream(mContext.getContentResolver(),
uri, false);
if (input == null) {
return BitmapFactory.decodeStream(input);
/**3、获取联系人头像
* 通过电话号码获取头像
* 通过电话号码获取contactId
* 如果2个contactId,都有相同的电话号码,这里的代码默认取第一个联系人的头像
openContactPhotoInputStream进行读取操作
public static Bitmap getContactPhotoDataPhoneFilter(Context mContext,String PhoneNumber){
Bitmap bitmap =
// 获得Uri
Uri uriNumber2Contacts = Uri.parse(&content://com.android.contacts/&
+ &data/phones/filter/& + PhoneNumber);
// 查询Uri,返回数据集
Cursor cursorCantacts = mContext.getContentResolver().query(
uriNumber2Contacts,
if (cursorCantacts!=null && cursorCantacts.getCount()&0) {
if ( cursorCantacts.moveToFirst()) {
Long contactID = cursorCantacts.getLong(cursorCantacts.getColumnIndex(&contact_id&));
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactID);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(mContext.getContentResolver(), uri);
return (bitmap = BitmapFactory.decodeStream(input));
3、从contacts表中获取contactId、photoId、rawContactId值
public static void getSingleColumnsFromContactsTable(Context mContext,String contactId) {
// 访问contacts表
Uri uri = Uri.parse(&content://com.android.contacts/contacts&);
ContentResolver resolver = mContext.getContentResolver();
// 从contacts表中获取contactId、photoId、rawContactId
Cursor cursor = resolver.query(uri, new String[] { Data._ID,
CommonDataKinds.Photo.PHOTO_ID,CommonDataKinds.Phone.NAME_RAW_CONTACT_ID}, &_id=?&, new String[]{contactId}, null);
if (cursor != null && cursor.getCount() & 0) {
if (cursor.moveToFirst()) {
int cursorContactId = cursor.getInt(0);
int photoId = cursor.getInt(cursor
.getColumnIndex(CommonDataKinds.Phone.PHOTO_ID));
int rawContactId = cursor.getInt(cursor
.getColumnIndex(CommonDataKinds.Phone.NAME_RAW_CONTACT_ID));
Log.i(&TAG&, &contactId:& + cursorContactId);
Log.i(&TAG&, &photoId:& + photoId);
Log.i(&TAG&, &rawContactId:& + rawContactId);
4、通过contact_id获取photo_id
* 通过contactId获取头像photo_id
* Uri photoIdByContactId =
* Uri.parse(&content://com.android.contacts/contacts/&+1+&/photo&);
public static void getRawContactIdByContactId(Context mContext) {
// 访问contacts表
Uri uri = Uri.parse(&content://com.android.contacts/contacts&);
ContentResolver resolver = mContext.getContentResolver();
// 从contacts表中获取contactId
Cursor cursor = resolver.query(uri, new String[] { Data._ID }, null,
null, null);
if (cursor != null && cursor.getCount() & 0) {
while (cursor.moveToNext()) {
int contactId = cursor.getInt(0);
Cursor query = resolver
.query(Uri
.parse(&content://com.android.contacts/contacts/&
+ contactId + &/photo&), null, null,
null, null);
if (query != null && query.getCount() & 0
&& query.moveToFirst()) {
int photoId = query.getInt(query
.getColumnIndex(Phone.PHOTO_ID));
Log.i(&TAG&, &contactId:& + contactId+ &,photoId:& + photoId);
5、查询raw_contacts表中的一些需要信息,例如displayName、sortKey、rawContactId、contactId
* contactId为空的就是被删掉的联系人
* 查询raw_contacts表,去获取联系人的信息
public static void getColumnsFromRawContactsTable(Context mContext) {
// 访问contacts表
Uri uri = Uri.parse(&content://com.android.contacts/raw_contacts&);
ContentResolver resolver = mContext.getContentResolver();
String[] projection = { Data._ID, CommonDataKinds.Phone.CONTACT_ID,
CommonDataKinds.Phone.DISPLAY_NAME,
CommonDataKinds.Phone.SORT_KEY_PRIMARY,&phonebook_label& };//sort_key
Cursor cursor = resolver.query(uri, projection, null, null, null);
if (cursor != null && cursor.getCount() & 0) {
while (cursor.moveToNext()) {
int rawContactId = cursor.getInt(0);
int contactId = cursor.getInt(1);
String displayName = cursor.getString(2);
String sortKey = cursor.getString(3);
String phonebook_label = cursor.getString(4);
if (contactId!=0) {
Log.i(&TAG&, &rawContactId:& + rawContactId);
Log.i(&TAG&, &contactId:& + contactId);
Log.i(&TAG&, &displayName:& + displayName);
Log.i(&TAG&, &sortKey:& + sortKey);
Log.i(&TAG&, &sortKey:& + phonebook_label);
Log.i(&TAG&, &--------------&);
6、根据电话号码获取联系人姓名
* 根据电话号码获取联系人姓名
* 如果2个联系人有同样的号码,默认获取第一个
public static void getContactNameByPhonNum(Context mContext, String phoneNum) {
ContentResolver resolver = mContext.getContentResolver();
Uri uri = Uri
.parse(&content://com.android.contacts/data/phones/filter/&
+ phoneNum);
Cursor c = resolver.query(uri, new String[] { &display_name& }, null,
null, null);
if (c != null && c.getCount() & 0 && c.moveToFirst()) {
Log.i(&TAG&, &phoneNum:& + c.getString(0));
7、添加联系人
* 添加联系人
* @param mContext
public static boolean insertContact(Context mContext,String given_name, String mobile_number,
String work_email) {
ContentValues values = new ContentValues();
// 下面的操作会根据RawContacts表中已有的rawContactId使用情况自动生成新联系人的rawContactId
Uri rawContactUri = mContext.getContentResolver().insert(
RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
// 向data表插入姓名数据
if (given_name != &&) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.GIVEN_NAME, given_name);
mContext.getContentResolver().insert(ContactsContract.Data.CONTENT_URI,
// 向data表插入电话数据
if (mobile_number != &&) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, mobile_number);
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
mContext.getContentResolver().insert(ContactsContract.Data.CONTENT_URI,
// 向data表插入Email数据
if (work_email != &&) {
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(Email.DATA, work_email);
values.put(Email.TYPE, Email.TYPE_WORK);
mContext.getContentResolver().insert(ContactsContract.Data.CONTENT_URI,
values.clear();
// 向data表插入头像数据
Bitmap sourceBitmap = BitmapFactory.decodeResource(mContext.getResources(),
R.drawable.ic_launcher);
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// 将Bitmap压缩成PNG编码,质量为100%存储
sourceBitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
byte[] avatar = os.toByteArray();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE);
values.put(Photo.PHOTO, avatar);
mContext.getContentResolver().insert(ContactsContract.Data.CONTENT_URI,
8、根据字母查询联系人、根据电话号码模糊查询
* 根据名字中的某一个字进行模糊查询
* matcher.addURI(ContactsContract.AUTHORITY, &data/phones&, PHONES);
* @param key
public static void getFuzzyQueryByName(Context mContext, String key) {
StringBuilder sb = new StringBuilder();
ContentResolver cr = mContext.getContentResolver();
//display_name、data1
String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER };
Cursor cursor = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
ContactsContract.Contacts.DISPLAY_NAME + & like & + &'%& + key
+ &%'&, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String number = cursor
.getString(cursor
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
sb.append(name + & (&).append(number + &)&).append(&\r\n&);
cursor.close();
if (!sb.toString().isEmpty()) {
Log.d(&TAG&, &查询联系人:\r\n& + sb.toString());
* 根据电话号码进行模糊查询
public static void getFuzzyByPhoneNum(Context mContext, String key) {
String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER };
Cursor cursor = mContext.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection,
ContactsContract.CommonDataKinds.Phone.NUMBER + & like & + &'%&
+ key + &%'&,
if (cursor == null) {
for (int i = 0; i & cursor.getCount(); i++) {
cursor.moveToPosition(i);
String name = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String number = cursor
.getString(cursor
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i(&TAG&, &根据号码查联系人 name: & + name + &----& + &
+ number + & \n&); // 这里提示
9、获取联系人,通过获取contactId,继而获取raw_contactId,继而获取联系人数据
* 读取联系人 1、先读取contacts表,获取ContactsID;
* 2、再在raw_contacts表中根据ContactsID获取RawContactsID;
* 3、然后就可以在data表中根据RawContactsID获取该联系人的各数据了。
public static void queryContactsByContactIdAndRawContactId(Context mContext) {
// 获取用来操作数据的类的对象,对联系人的基本操作都是使用这个对象
ContentResolver cr = mContext.getContentResolver();
// 查询contacts表的所有记录
Cursor contactCursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);
if (contactCursor.getCount() & 0) {
// 游标初始指向查询结果的第一条记录的上方,执行moveToNext函数会判断
// 下一条记录是否存在,如果存在,指向下一条记录。否则,返回false。
while (contactCursor.moveToNext()) {
String rawContactId = &&;
String id = contactCursor.getString(contactCursor
.getColumnIndex(ContactsContract.Contacts._ID));
Log.v(&TAG&, &id:&+id);
Cursor rawContactCur = cr.query(RawContacts.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Contactables.CONTACT_ID + &=?&, new String[] { id }, null);
if (rawContactCur.moveToFirst()) {
rawContactId = rawContactCur.getString(rawContactCur
.getColumnIndex(RawContacts._ID));
Log.v(&TAG&, &rawContactId:&+rawContactId);
rawContactCur.close();
// 读取号码
if (Integer
.parseInt(contactCursor.getString(contactCursor
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) & 0) {
// 根据查询RAW_CONTACT_ID查询该联系人的号码
Cursor phoneCur = cr
.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID
new String[] { rawContactId }, null);
// 上面的ContactsContract.CommonDataKinds.Phone.CONTENT_URI
// 可以用下面的phoneUri代替
// phoneUri=Uri.parse(&content://com.android.contacts/data/phones&);
// 一个联系人可能有多个号码,需要遍历
while (phoneCur.moveToNext()) {
String number = phoneCur
.getString(phoneCur
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.v(&TAG&, &number:&+number);
phoneCur.close();
contactCursor.close();
10、删除、更新联系人
// 删除联系人
public static void deleteContact(Context mContext, long rawContactId) {
mContext.getContentResolver().delete(
ContentUris.withAppendedId(RawContacts.CONTENT_URI,
rawContactId), null, null);
* 更新联系人
* @param mContext
* @param rawContactId
* 代码不严谨,
* 因为raw_contacts表中的contact_id列为0时候,说明这个联系人被删除了,
* 应该先通过raw_contactid 判断contact_id是否为0,如果不为0,在进行更新操作
* 可以直接在raw_contacts表中,也可以在contacts表中去判断都可
public static void updataCotact(Context mContext, long rawContactId) {
ContentValues values = new ContentValues();
values.put(Phone.NUMBER, &&);
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
String where = ContactsContract.Data.RAW_CONTACT_ID + &=? AND &
+ ContactsContract.Data.MIMETYPE + &=?&;
String[] selectionArgs = new String[] { String.valueOf(rawContactId),
Phone.CONTENT_ITEM_TYPE };
mContext.getContentResolver().update(ContactsContract.Data.CONTENT_URI,
values, where, selectionArgs);大家都在搜
为什么现在手机APP 总是要各种权限,位置,短信内容,通话记录,联系人?
为什么很多 根本不需要这些权限的软件 现在都这样,,毫无隐私啊。刚看到有人说 手机在网上搜了搜东西 就有人 给他打电话了 问他有需要么? 我们真的没有隐私了吗 软件开发者 真的在无形中 窃取我们的隐私么》?
anjietbb的答复:
所以就推荐2个小众的半自动的工具,大家自己挖掘整合,也许可以达到类似的效果和目的吧。 安卓端: Friday 一款强大的自动记录每一天智能设备使用行为的安卓软件。 记录的行为包括:短信,电话,照片,音乐,位置,系统事件(开关机,飞行模式); 不足的地方:不能记录你11点打开的是知乎还是快播,是多看还是掌阅 swipetimes pro 如果题主想记录自己的时间耗用情况,做一名高效能人士的话,swipetimes pro 怒推荐。 像全平台制霸的常见的印象笔记(为知笔记,有道云笔记),http://Doit.im(Any.do),chrome(各种国产浏览器)就不提了,可以自己利用这些跨平台工具手动记录重要信息,比如印象笔记就有很多黑科技,可以用来满足方方面面的需求。安卓手机上每个软件都要读取联系人信息,知道真相后想想都后怕安卓手机上每个软件都要读取联系人信息,知道真相后想想都后怕社会号百家号世界有两个安卓,一个是世界通用的“Android”,一个是中国版本的“安卓”。虽然都是安卓,但是两者有很大区别。国外版的安卓,一般只能在谷歌Google Play商店下载软件。上传谷歌商店的软件,谷歌会专门审核,控制软件不让其滥用权限。而国内版的安卓,几乎每个手机厂商都会修改原生安卓系统,比如小米的MIUI,华为的EMUI,魅族的Flyme等等都是基于谷歌安卓系统改的。因为市场原因,谷歌进不来,加上国内手机厂商去除谷歌商店以及谷歌框架等原因,软件只能在国内下载,下载渠道有手机软件官网,当然也有很多类似谷歌商店的其它软件市场,比如酷安,应用宝,豌豆荚,华为商店,小米商店等等。大部分开发企业表示,APP要读取通讯和软件信息是为了能通过验证码避免用户重复注册,和起到推荐作用。不过,如果用户真的把所有权限都开放给各种APP,将等同于将自己的所有隐私公开APP开发企业,如果某些企业别有用心的话,可能会导致我们的个人隐私泄露。所以,虽然开放APP权限有利于提升我们的使用体验,但是却会给我们带来泄露隐私的安全隐患。如果这些隐私细腻被不法分子获取,我们手机中的各种信息将被别人得知,其中就包括联系人、短信信息、银行卡账号等,并被用于网络诈骗。而且,很大一部分互联网公司就是靠吃手机用户的隐私来赚钱的。你们的隐私和联系人数据,已经成全了别人的暴利了。尤其是大部分国产安卓软件,都会向系统申请一些与其功能不相干的权限,想方设法获取用户个人隐私信息,大部分软件厂商(开发者)都会给出一个理由:我们是在收集用户的使用习惯,做大数据调查分析,为了给用户提供更加人性化的服务和功能。我们不能说所有的软件厂商(开发者)都会做出这种事,但手机中几十上百个应用,谁知道你的隐私信息会被哪一个软件泄露。对于软件厂商(开发者)来说,收集到的用户个人信息,总有用得到的一天,而至于怎么用,想想都觉得可怕。有许多软件不仅读取通讯录信息,还要读取你的位置、网站浏览记录等信息,都会对你的隐私造成或多或少的影响。科技发展的今天,我们要想一丁点隐私都不受侵犯,几乎不太可能。不过我们可以降低隐私受侵害度,我们平时应该多加注意,不乱下载软件,不点击来路不明的链接,各种读取权限的功能尽量少些开启。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。社会号百家号最近更新:简介:原创拍客,最新街头热点拍摄,人物访谈。相关文章安卓群发短信,多个电话号码中间用什么分隔_百度经验
&&&&&&&&&电话/短信安卓群发短信,多个电话号码中间用什么分隔?听语音
百度经验:jingyan.baidu.com安卓群发短信,多个电话号码中间用什么分隔?很多介绍都很含糊,逼的人要要急迫发送多个不在通讯录联系人的号码一筹莫展。经过电脑和手机测试,终于成功。百度经验:jingyan.baidu.com安卓手机短信内容,没有保存多个联系人的正确电话号码。百度经验:jingyan.baidu.com1打开安卓手机,创建短信内容,添加第一个不在通讯录联系人正确电话,完成后输入分号,添加第二个联系人正确电话,以此类推。完成电话号码输入后,点击发送,成功。2打开电脑板手机助手,创建短信内容,添加第一个不在通讯录联系人正确电话,完成后输入分号,添加第二个联系人正确电话,以此类推。完成电话号码输入后,点击发送,成功。END百度经验:jingyan.baidu.com电话号码正确。号码之间分号输入正确。(有的系统号码间是一个空格)。号码间除了分号不要有空格。1小时群发太多运营商会禁止你运用短信功能。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(1)已投票(1)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验000150热门杂志第1期你不知道的iPad技巧3763次分享第1期win7电脑那些事6625次分享第2期新人玩转百度经验1399次分享第1期Win8.1实用小技巧2646次分享第1期小白装大神1910次分享◆请扫描分享到朋友圈苹果手机短信有个联系人与普通短信和不在通讯怎么去除
<p class="detail" data-data=''>[图片]
按时间排序
  苹果手机短信在显示时,可能会有“联系人与普通短信”和“不在通讯录”这两种短信。  产生这种情况是因为在信息下面的过滤未知发件人的开关打开了的关系。  过滤未知发件人开关打开后,就会关闭来自非联系人的iMessage 通知并将信息单独归类,如果不想看到“不在通讯录”这种显示方式,只要关闭“过滤未知发件人”后面的开关就可以了。操作步骤如下:点设置;点信息;找到过滤未知发件人,把后面的开头关闭就可以了。
楼主你好苹果是iOS系统,这个系统相对安卓是很封闭的。如果没有越狱针对iOS系统的病毒几乎没有。如果越狱请在cydia中下载腾讯手机管家PRO版查杀保护
楼主你好苹果是iOS系统,这个系统相对安卓是很封闭的。如果没有越狱针对iOS系统的病毒几乎没有。如果越狱请在cydia中下载腾讯手机管家PRO版查杀保护
苹果手机不越狱是不会中病毒的,越狱了以后就不好说了,可以安装腾讯手机管家杀毒,它与卡巴斯基合作推双核引擎查杀的管家安全助手,可以对您的手机进行云查杀和备用病毒库的查杀,它能够查杀大量的手机病毒,病毒库也可以自动更新,你可以直接在手机管家的界面中点防护监控,然后选择病毒查杀,最后点一下病毒扫描即可,谢谢
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?
请输入私信内容:}

我要回帖

更多关于 发手机短信平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信