Example #1
0
  @Override
  public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_sms);

    queryListView = (ListView) findViewById(R.id.list);

    btn_return = (Button) findViewById(R.id.btn_return);
    btn_return.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View v) {
            NewSMSActivity.this.finish();
          }
        });
    add_btn = (Button) findViewById(R.id.add_btn);
    add_btn.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View v) {

            if (null == etMess || "".equals(etMess.getText().toString())) {
            } else {
              String phoneNum = etMess.getText().toString();
              if (isNum(etMess.getText().toString().trim())) {
                createView1(phoneNum, phoneNum);
                etMess.setText("");
              } else {
                etMess.setText("");
              }
            }

            if (null == selectContactList || selectContactList.size() < 1) {
              BaseIntentUtil.intentSysDefault(
                  NewSMSActivity.this, SelectContactsToSendActivity.class, null);
            } else {
              Gson gson = new Gson();
              String data = gson.toJson(selectContactList);
              Map<String, String> map = new HashMap<String, String>();
              map.put("data", data);
              BaseIntentUtil.intentSysDefault(
                  NewSMSActivity.this, SelectContactsToSendActivity.class, map);
            }
          }
        });

    fasong = (Button) findViewById(R.id.fasong);
    neirong = (EditText) findViewById(R.id.neirong);

    fasong.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View v) {

            if (null == etMess || "".equals(etMess.getText().toString())) {
            } else {
              String phoneNum = etMess.getText().toString();
              if (isNum(etMess.getText().toString().trim())) {
                createView1(phoneNum, phoneNum);
                etMess.setText("");
              } else {
                etMess.setText("");
              }
            }

            if (null == selectContactList || selectContactList.size() < 1) {
              Toast.makeText(NewSMSActivity.this, "请输入发送目标", Toast.LENGTH_SHORT).show();
            } else {
              for (ContactBean cb : selectContactList) {
                Log.d("NewSMSActivity", "Send: " + cb.getPhoneNum());
                String nei = neirong.getText().toString();
                ContentValues values = new ContentValues();
                values.put(BODY, nei);
                values.put(ADDRESS, cb.getPhoneNum());
                values.put(TYPE, MESSAGE_TYPE_SENT);
                values.put(DATE, System.currentTimeMillis());
                values.put(READ, 1);

                IAsyncQueryFactory mAsyncQueryFactory =
                    new SMSAsyncQueryFactory(
                        NewSMSActivity.this,
                        new IAsyncQueryHandler() {
                          @Override
                          public void onQueryComplete(int token, Object cookie, Cursor cursor) {}

                          @Override
                          public void onDeleteComplete(int token, Object cookie, int result) {}

                          @Override
                          public void onUpdateComplete(int token, Object cookie, int result) {}

                          @Override
                          public void onInsertComplete(int token, Object cookie, Uri uri) {}
                        });
                IAsyncQuery query = mAsyncQueryFactory.getLocalAsyncQuery();
                query.startInsert(values);
                // 直接调用短信接口发短信
                SmsManager smsManager = SmsManager.getDefault();
                List<String> divideContents = smsManager.divideMessage(nei);
                for (String text : divideContents) {
                  smsManager.sendTextMessage(cb.getPhoneNum(), null, text, null, null);
                }
              }
              neirong.setText("");
              finish();
            }
          }
        });

    asyncQuery = new MyAsyncQueryHandler(getContentResolver());
    query();

    initMyGroupView();

    if (null != getIntent().getStringExtra("list")) {
      String data = getIntent().getStringExtra("list");
      Gson gson = new Gson();
      Type listRet = new TypeToken<List<ContactBean>>() {}.getType();
      selectContactList = gson.fromJson(data, listRet);
      for (ContactBean cb : selectContactList) {
        createView2(cb.getDisplayName().trim());
        final View child = mvg.getChildAt(mvg.getChildCount() - 1);
        autoHeight(child);
      }
    }
  }