ورود

View Full Version : ارسال نشدن اس ام اس



M0TR!X
دوشنبه 27 بهمن 1393, 23:12 عصر
سلام.

یه برنامه نوشتم که دوتا مقدار از ورودی میگیره(اسم و شماره تلفن)و به اون شماره تلفن اس میفرسته با موفقعیت ثبت نام شدید.

حالا بخش ارسال اس ام اس fail میشه و ارسال نمیشه.به نظرتون مشکل چیه؟




import java.util.List;






import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class DatabaseActivity extends Activity {

private final String TAG = "DatabaseActivity";

private DatabaseHandler dbHandler;
private Contact contact;
private List<Contact> list;
private Button btnAdd;
private EditText etName;
private EditText etPhone;
private ListView listView;
private ListAdapter adapter;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


Log.i(TAG, "Inside onCreate()");


dbHandler = new DatabaseHandler(this);
contact = new Contact();
adapter = new ListAdapter(this);


etName = (EditText)findViewById(R.id.etName);
etPhone = (EditText)findViewById(R.id.etPhone);


listView = (ListView) findViewById(R.id.listview);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Log.i(TAG, "item " + position + " clicked.");

TextView tv = (TextView) v.findViewById(R.id.tvId);
Log.i(TAG, ">> " + tv.getText());

/************************************************** *************
* One of these methods should be uncommented at the same time *
************************************************** *************/
dbHandler.deleteContact(Long.parseLong(tv.getText( ).toString()));
// dbHandler.updateContact(Long.parseLong(tv.getText( ).toString()));
refreshList();

}
});


btnAdd = (Button) findViewById(R.id.btnAddToDatabase);
btnAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

Log.i(TAG, "Button clicked.");

boolean validate1 = false;
boolean validate2 = false;

String name = etName.getText().toString();
if(name.equalsIgnoreCase(""))
Toast.makeText(DatabaseActivity.this, "Pease enter a name.", Toast.LENGTH_LONG).show();
else {
contact.setName(name);
validate1 = true;
}

String phone = etPhone.getText().toString();
if(phone.equalsIgnoreCase(""))
Toast.makeText(DatabaseActivity.this, "Pease enter phone number.", Toast.LENGTH_LONG).show();
else {
contact.setPhoneNumber(phone);
validate2 = true;
}

if(validate1 && validate2) {
sendSmsBySIntent();
sendSmsByManager();
sendSmsByVIntent();
etName.setText("");
etPhone.setText("");

dbHandler.insertContact(contact);
refreshList();


}
}
});
}

public void sendSmsByManager() {
try {
// Get the default instance of the SmsManager
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(etPhone.getText().toStr ing(),
null,
"sent",
null,
null);
Toast.makeText(getApplicationContext(), "Your sms has successfully sent!",
Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(),"Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
public void sendSmsByVIntent() {

Intent smsVIntent = new Intent(Intent.ACTION_VIEW);
// prompts only sms-mms clients
smsVIntent.setType("vnd.android-dir/mms-sms");

// extra fields for number and message respectively
smsVIntent.putExtra("address", etPhone.getText().toString());
smsVIntent.putExtra("sms_body", "sent...");
try{
startActivity(smsVIntent);
} catch (Exception ex) {
Toast.makeText(DatabaseActivity.this, "Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}

}
public void sendSmsBySIntent() {
// add the phone number in the data
Uri uri = Uri.parse("smsto:" + etPhone.getText().toString());

Intent smsSIntent = new Intent(Intent.ACTION_SENDTO, uri);
// add the message at the sms_body extra field
smsSIntent.putExtra("sms_body", "sent...!");
try{
startActivity(smsSIntent);
} catch (Exception ex) {
Toast.makeText(DatabaseActivity.this, "Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}

@Override
protected void onResume() {
super.onResume();

dbHandler.open();
// dbHandler.clearTable();
refreshList();
}

@Override
protected void onPause() {
super.onPause();

dbHandler.close();
}

protected void refreshList() {
list = dbHandler.getAllContacts();
adapter.setData(list);
listView.setAdapter(adapter);
}
}


سه تا متد واسه ارسال اس ام اس وجود داره دوتاش کار میکنه یکیش کار نمیکنه بدبختی من اونی که کار نمیکنه رو لازم دارم....

اروری که میده : Your sms has failed...