package com.ldci.t56.mobile.safe;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.app.TabActivity;
import android.content.BroadcastReceiver;
import android.content.ContentProviderOperation;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.OperationApplicationException;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.RemoteException;
import android.provider.ContactsContract;
import android.provider.Contacts.Phones;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TabHost;
import android.widget.Toast;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.TabHost.OnTabChangeListener;
import com.ldci.t56.mobile.db.DbAdapter;
import com.ldci.t56.mobile.info.Message_Forbid_Info;
import com.ldci.t56.mobile.tool.BroadCastTool;
public class MessageActivity extends TabActivity implements OnTabChangeListener {
private DbAdapter mDbAdapter;
private Cursor mCursorTab1;
private Cursor mCursorTab2;
private ListView mListViewTab1;
private ListView mListViewTab2;
private static final int MENU_RUBBISH_BACK = Menu.FIRST;
private static final int MENU_RUBBISH_REPLY = Menu.FIRST+1;
private static final int MENU_RUBBISH_CALL = Menu.FIRST+2;
private static final int MENU_RUBBISH_DELETE = Menu.FIRST+3;
private static final int MENU_RUBBISH_MULTIPLE = Menu.FIRST+4;
private static final int MENU_FORBID_REPLY = Menu.FIRST+5;
private static final int MENU_FORBID_CALL = Menu.FIRST+6;
private static final int MENU_FORBID_DELETE = Menu.FIRST+7;
private static final int MENU_FORBID_MULTIPLE = Menu.FIRST+8;
private static final int MENU_FORBID_ADD = Menu.FIRST+9;
private static final int MENU_FORBID_ADD_FIRST = Menu.FIRST+10;
private static final int MENU_ADD_CANTACT = Menu.FIRST+11;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabhost_public);
initFindViewById();
TabHost mTabHost=getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("拦截记录",getResources().getDrawable(R.drawable.tab_icon_1)).setContent(R.id.tabhost_public_listview));
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("黑名单",getResources().getDrawable(R.drawable.tab_icon_2)).setContent(R.id.tabhost_public_listview_tab2));
mTabHost.setOnTabChangedListener(this);
mTabHost.setCurrentTab(0);
mDbAdapter = new DbAdapter(MessageActivity.this);
mDbAdapter.open();
initTab1Data();
initTabListViewListener(mListViewTab1);
}
private MyBroadCastReceiver mMBCR;
private IntentFilter mIF;
@Override
protected void onResume(){
super.onResume();
mIF = new IntentFilter();
mIF.addAction(BroadCastTool.SMS_RECEIVED_ACTION);
mMBCR = new MyBroadCastReceiver();
this.registerReceiver(mMBCR, mIF);
}
@Override
protected void onDestroy(){
super.onDestroy();
this.unregisterReceiver(mMBCR);
mDbAdapter.close();
}
/** 打電話*/
Intent mIntent;
private void actionCALL(int position, Cursor c,String column){
c.moveToPosition(position);
Uri uri = Uri.parse("tel:"+c.getString(c.getColumnIndex(column)));
mIntent = new Intent(Intent.ACTION_CALL, uri);
startActivity(mIntent);
}
/**發短信 */
private void actionSMS(int position, Cursor c,String column){
c.moveToPosition(position);
mIntent = new Intent(Intent.ACTION_VIEW);
mIntent.putExtra("address", c.getString(c.getColumnIndex(column)));
mIntent.setType("vnd.android-dir/mms-sms");
startActivity(mIntent);
}
/** 刪除標記*/
private void delMarkItemData(ListView lv,Cursor c,String table){
int mContant = lv.getCount();
for(int i=0;i!=mContant;i++){
if(lv.getCheckedItemPositions().get(i)){
c.moveToPosition(i);
long rowId = c.getLong(c.getColumnIndex(DbAdapter.TABLE_ID));
mDbAdapter.getDel(rowId, table);
}
}
}
private void returnMessage(){
for(int i=0;i!=mListViewTab1.getCount();i++){
if(mListViewTab1.getCheckedItemPositions().get(i)){
ContentValues cv = new ContentValues();
cv.put("type", "1");
mCursorTab1.moveToPosition(i);
cv.put("address", mCursorTab1.getString(mCursorTab1.getColumnIndex(DbAdapter.MESSAGE_RUBBISH_PHONE)));
String rowContent = mCursorTab1.getString(mCursorTab1.getColumnIndex(DbAdapter.MESSAGE_RUBBISH_CONTENT));
cv.put("body", rowContent);
getContentResolver().insert(Uri.parse("content://sms/inbox"), cv);
long rowId = mCursorTab1.getLong(mCursorTab1.getColumnIndex(DbAdapter.TABLE_ID));
mDbAdapter.getDel(rowId, DbAdapter.MESSAGE_RUBBISH_TABLE_NAME);
}
}
}
private String getPhoneNumber(int position,Cursor c){
c.moveToPosition(position);
return c.getString(c.getColumnIndex(DbAdapter.MESSAGE_RUBBISH_PHONE));
}
EditText mCallName;
EditText mCallNumber;
private void addContact(String phone){
LayoutInflater mLI = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout mLL = (LinearLayout)mLI.inflate(R.layout.set_call_record_name, null);
mCallName = (EditText)mLL.findViewById(R.id.EditText01);
mCallNumber = (EditText)mLL.findViewById(R.id.EditText02);
mCallNumber.setText(phone);
new AlertDialog.Builder(this).setTitle("加入联系人").
setView(mLL).
setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(mCallName.getText().toString().length() != 0&&mCallNumber.getText().toString().length() != 0){
ContentValues cv = new ContentValues();
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);
builder.withValues(cv);
operationList.add(builder.build());
builder = ContentProviderOperation.newInsert(Data.CONTENT_URI);
builder.withValueBackReference(StructuredName.RAW_CONTACT_ID, 0);
builder.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
builder.withValue(StructuredName.DISPLAY_NAME, mCallName.getText().toString());
operationList.add(builder.build());
builder = ContentProviderOperation.newInsert(Data.CONTENT_URI);
builder.withValueBackReference(Phone.RAW_CONTACT_ID, 0);
builder.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
builder.withValue(Phone.NUMBER, mCallNumber.getText().toString());
builder.withValue(Data.IS_PRIMARY, 1);
operationList.add(builder.build());
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, operationList);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "成功添加!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "姓名或号码不能为空!", Toa
没有合适的资源?快使用搜索试试~ 我知道了~
365手机助手代码 可以短信拦截 来电屏蔽
共136个文件
class:61个
xml:23个
png:20个
4星 · 超过85%的资源 需积分: 0 13 下载量 30 浏览量
2011-04-12
17:59:11
上传
评论
收藏 1.26MB RAR 举报
温馨提示
支持短信拦截 来电屏蔽等功能 不错的范例代码
资源详情
资源评论
资源推荐
收起资源包目录
365手机助手代码 可以短信拦截 来电屏蔽 (136个子文件)
ITelephony.aidl 1KB
ITelephony.aidl 1KB
resources.ap_ 361KB
365MobileSecretary v1.0.6.apk 402KB
MessageActivity.class 16KB
CallActivity.class 15KB
BroadCastTool.class 14KB
MainActivity.class 12KB
SetActivity.class 9KB
SensitiveActivity.class 8KB
DbAdapter.class 6KB
BroadCastTool$MyPhoneStateListener.class 5KB
MainActivity$10.class 4KB
SetActivity$SetAdapter.class 4KB
MessageActivity$1.class 4KB
CallActivity$1.class 4KB
DbAdapter$DatabaseHelper.class 3KB
MainActivity$12.class 3KB
SetActivity$4.class 3KB
SetActivity$2.class 3KB
ITelephony$Stub.class 3KB
ITelephony$Stub$Proxy.class 3KB
R$id.class 3KB
SetActivity$1.class 3KB
MessageActivity$4.class 2KB
CallActivity$3.class 2KB
MainActivity$6.class 2KB
MainActivity$11.class 2KB
ServiceTool.class 2KB
MessageActivity$6.class 2KB
CallActivity$5.class 2KB
SensitiveActivity$1.class 2KB
MainActivity$2.class 2KB
GetCurrentTime.class 2KB
MainActivity$Checklistenner.class 2KB
SetActivity$5.class 1KB
R$drawable.class 1KB
MessageActivity$2.class 1KB
PhoneNumberXml.class 1KB
Message_Rubbish_Info.class 1KB
MainActivity$1.class 1KB
SmsInfo.class 1KB
SetActivity$6.class 1KB
Call_Record_Info.class 1KB
MessageActivity$MyBroadCastReceiver.class 1KB
CallActivity$MyBroadCastReceiver.class 1KB
R$layout.class 978B
MessageActivity$5.class 954B
MainActivity$9.class 944B
MainActivity$8.class 942B
CallActivity$4.class 936B
PhoneInfo.class 931B
SetActivity$3.class 917B
MainActivity$3.class 886B
MainActivity$4.class 867B
MainActivity$7.class 866B
MessageActivity$3.class 830B
CallActivity$2.class 812B
MainActivity$5.class 810B
R$string.class 690B
Message_Forbid_Info.class 651B
Call_Forbid_Info.class 630B
R.class 573B
ITelephony.class 508B
R$attr.class 358B
.classpath 280B
classes.dex 84KB
MessageActivity.java 22KB
CallActivity.java 20KB
BroadCastTool.java 19KB
MainActivity.java 16KB
SetActivity.java 13KB
DbAdapter.java 9KB
ITelephony.java 8KB
R.java 7KB
SensitiveActivity.java 6KB
ServiceTool.java 2KB
GetCurrentTime.java 991B
Message_Rubbish_Info.java 813B
Call_Record_Info.java 704B
PhoneNumberXml.java 678B
SmsInfo.java 640B
PhoneInfo.java 512B
Message_Forbid_Info.java 315B
Call_Forbid_Info.java 297B
background_coffee.jpg 9KB
background_pure.jpg 4KB
background_other.jpg 1KB
background_black.png 92KB
menu_state_press.png 20KB
menu_message_press.png 20KB
menu_smart_press.png 20KB
menu_call_press.png 20KB
menu_message.png 19KB
menu_smart.png 19KB
menu_state.png 19KB
menu_call.png 19KB
menu_phone_press.png 19KB
menu_phone.png 19KB
menu_set_press.png 18KB
共 136 条
- 1
- 2
m4a1b2c3d4
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1