當前位置:名人名言大全網 - 短信平臺 - android 開發 壹個通過服務端內容自動發送短信到指定號碼

android 開發 壹個通過服務端內容自動發送短信到指定號碼

調用系統的發送短信界面,只需向系統發送壹個Intent,並附帶相關參數就可以了,下面以壹個demo說明。

類似下圖的界面

activity_main.xml

[html] view plaincopy

<RelativeLayout xmlns:android="/apk/res/android" ?

xmlns:tools="/tools" ?

android:layout_width="match_parent" ?

android:layout_height="match_parent" > ?

<Button ?

android:id="@+id/btn_send" ?

android:layout_width="wrap_content" ?

android:layout_height="wrap_content" ?

android:layout_alignParentRight="true" ?

android:layout_marginRight="@dimen/padding_small" ?

android:gravity="center" ?

android:paddingLeft="@dimen/padding_small" ?

android:paddingRight="@dimen/padding_small" ?

android:text="@string/btn_send" /> ?

<EditText ?

android:id="@+id/edit_phone_number" ?

android:layout_width="fill_parent" ?

android:layout_height="wrap_content" ?

android:layout_alignBottom="@id/btn_send" ?

android:layout_marginLeft="@dimen/padding_small" ?

android:layout_marginRight="@dimen/padding_small" ?

android:layout_toLeftOf="@id/btn_send" ?

android:hint="@string/edittext_hint" ?

android:inputType="phone" ?

android:paddingLeft="@dimen/padding_small" /> ?

</RelativeLayout> ?

然後在MainActivity中編寫相應的Java代碼就可以了,操作很簡單,在EditText中輸入號碼,然後點擊Send,就跳到系統發送短信界面,並且接收人壹欄裏填入號碼。相關的代碼如下:

獲取控件,響應Button的點擊事件:

[java] view plaincopy

@Override ?

public void onCreate(Bundle savedInstanceState) { ?

super.onCreate(savedInstanceState); ?

setContentView(R.layout.activity_main); ?

mEditText = (EditText) findViewById(R.id.edit_phone_number); ?

mButton = (Button) findViewById(R.id.btn_send); ?

mButton.setOnClickListener(new View.OnClickListener() { ?

@Override ?

public void onClick(View v) { ?

String phoneNumber = mEditText.getText().toString(); ?

if (!TextUtils.isEmpty(phoneNumber)) { ?

sendSmsWithNumber(MainActivity.this, phoneNumber); ?

} ?

} ?

}); ?

} ?

向指定號碼發送短信:

[java] view plaincopy

/**?

* 調用系統界面,給指定的號碼發送短信?

* ?

* @param context?

* @param number?

*/ ?

public void sendSmsWithNumber(Context context, String number) { ?

Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + number)); ?

context.startActivity(sendIntent); ?

} ?

這樣點擊Send後,就會跳轉到系統短信界面了,並且接收人壹欄裏就是剛才妳填寫的號碼。

同理,要想調用系統發送短信界面後附加短信內容和以上是類似的,只需在Intent中附帶相關的參數就可以了。

[java] view plaincopy

/**?

* 調用系統界面,給指定的號碼發送短信,並附帶短信內容?

* ?

* @param context?

* @param number?

* @param body?

*/ ?

public void sendSmsWithBody(Context context, String number, String body) { ?

Intent sendIntent = new Intent(Intent.ACTION_SENDTO); ?

sendIntent.setData(Uri.parse("smsto:" + number)); ?

sendIntent.putExtra("sms_body", body); ?

context.startActivity(sendIntent); ?

} ?