Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to send sms using the button click on alert box in android
    text
    copied!<p>I want to send an sms if i click the alert box button.I have an listview with checkbox after clicking the checkbox,above i put an buttonselected,After click that button it shows one alert box which contains the selected things with "ok" alertsetbutton.What i need is after clicking the ok button,i have to send an sms and an email with the selected content. How can i do this.</p> <p>Main activity.java</p> <pre><code>public class MainActivity extends Activity implements FetchDataListener,OnClickListener { private static final int ACTIVITY_CREATE=0; private ProgressDialog dialog; ListView lv; private List&lt;Application&gt; items; private Button btnGetSelected; //private ProjectsDbAdapter mDbHelper; //private SimpleCursorAdapter dataAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_item); //mDbHelper = new ProjectsDbAdapter(this); //mDbHelper.open(); //fillData(); //registerForContextMenu(getListView()); lv =(ListView)findViewById(R.id.list); btnGetSelected = (Button) findViewById(R.id.btnget); btnGetSelected.setOnClickListener(this); initView(); } private void initView() { // show progress dialog dialog = ProgressDialog.show(this, "", "Loading..."); String url = "http://dry-brushlands-3645.herokuapp.com/posts.json"; FetchDataTask task = new FetchDataTask(this); task.execute(url); //mDbHelper.open(); //Cursor projectsCursor = mDbHelper.fetchAllProjects(); //startManagingCursor(projectsCursor); // Create an array to specify the fields we want to display in the list (only TITLE) //String[] from = new String[]{ProjectsDbAdapter.KEY_TITLE}; // and an array of the fields we want to bind those fields to (in this case just text1) //int[] to = new int[]{R.id.text1}; /* Now create a simple cursor adapter and set it to display SimpleCursorAdapter projects = new SimpleCursorAdapter(this, R.layout.activity_row, projectsCursor, from, to); setListAdapter(projects); */ // create the adapter using the cursor pointing to the desired data //as well as the layout information /*dataAdapter = new SimpleCursorAdapter( this, R.layout.activity_row, projectsCursor, from, to, 0); setListAdapter(dataAdapter); */ } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. //getMenuInflater().inflate(R.menu.activity_main, menu); super.onCreateOptionsMenu(menu); MenuInflater mi = getMenuInflater(); mi.inflate(R.menu.activity_main, menu); return true; } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { createProject(); return super.onMenuItemSelected(featureId, item); } private void createProject() { Intent i = new Intent(this, ProjectEditActivity.class); startActivityForResult(i, ACTIVITY_CREATE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); initView(); } @Override public void onFetchComplete(List&lt;Application&gt; data) { this.items = data; // dismiss the progress dialog if ( dialog != null ) dialog.dismiss(); // create new adapter ApplicationAdapter adapter = new ApplicationAdapter(this, data); // set the adapter to list lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id) { CheckBox chk = (CheckBox) view.findViewById(R.id.checkbox); Application bean = items.get(position); if (bean.isSelected()) { bean.setSelected(false); chk.setChecked(false); } else { bean.setSelected(true); chk.setChecked(true); } } }); } // Toast is here... private void showToast(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } @Override public void onFetchFailure(String msg) { // dismiss the progress dialog if ( dialog != null ) dialog.dismiss(); // show failure message Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); } @Override public void onClick(View v) { StringBuffer sb = new StringBuffer(); // Retrive Data from list for (Application bean : items) { if (bean.isSelected()) { sb.append(Html.fromHtml(bean.getContent())); sb.append(","); } } showAlertView(sb.toString().trim()); } @SuppressWarnings("deprecation") private void showAlertView(String str) { AlertDialog alert = new AlertDialog.Builder(this).create(); if (TextUtils.isEmpty(str)) { alert.setTitle("Not Selected"); alert.setMessage("No One is Seleceted!!!"); } else { // Remove , end of the name String strContactList = str.substring(0, str.length() - 1); alert.setTitle("Selected"); alert.setMessage(strContactList); } alert.setButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { try { Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.putExtra("sms_body", "default"); sendIntent.setType("vnd.android-dir/mms-sms"); startActivity(sendIntent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "SMS faild, please try again later!", Toast.LENGTH_LONG).show(); e.printStackTrace(); } dialog.dismiss(); } }); /*buttonSendSms_intent.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub String smsNumber = edittextSmsNumber.getText().toString(); String smsText = edittextSmsText.getText().toString(); Uri uri = Uri.parse("smsto:" + smsNumber); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", smsText); startActivity(intent); }});*/ alert.show(); } @Override public void onBackPressed() { AlertDialog alert_back = new AlertDialog.Builder(this).create(); alert_back.setTitle("Quit?"); alert_back.setMessage("Are you sure want to Quit?"); alert_back.setButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alert_back.setButton2("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MainActivity.this.finish(); } }); alert_back.show(); } @Override public void setOnItemClickListener(OnItemClickListener onItemClickListener) { // TODO Auto-generated method stub } } </code></pre> <p>Here alert.setbutton is the crucial button,from there only i need,I already put sms code its not working properly.</p> <p>Here i add my asynctask also.</p> <pre><code>public class FetchDataTask extends AsyncTask&lt;String, Void, String&gt; { private final FetchDataListener listener; private String msg; public FetchDataTask(FetchDataListener listener) { this.listener = listener; } @Override protected String doInBackground(String... params) { if ( params == null ) return null; // get url from params String url = params[0]; try { // create http connection HttpClient client = new DefaultHttpClient(); HttpGet httpget = new HttpGet(url); // connect HttpResponse response = client.execute(httpget); // get response HttpEntity entity = response.getEntity(); if ( entity == null ) { msg = "No response from server"; return null; } // get response content and convert it to json string InputStream is = entity.getContent(); return streamToString(is); } catch ( IOException e ) { msg = "No Network Connection"; } return null; } @Override protected void onPostExecute(String sJson) { if ( sJson == null ) { if ( listener != null ) listener.onFetchFailure(msg); return; } try { // convert json string to json object JSONObject jsonObject = new JSONObject(sJson); JSONArray aJson = jsonObject.getJSONArray("post"); // create apps list List&lt;Application&gt; apps = new ArrayList&lt;Application&gt;(); for ( int i = 0; i &lt; aJson.length(); i++ ) { JSONObject json = aJson.getJSONObject(i); Application app = new Application(); app.setContent(json.getString("content")); // add the app to apps list apps.add(app); } //notify the activity that fetch data has been complete if ( listener != null ) listener.onFetchComplete(apps); } catch ( JSONException e ) { e.printStackTrace(); msg = "Invalid response"; if ( listener != null ) listener.onFetchFailure(msg); return; } } /** * This function will convert response stream into json string * * @param is * respons string * @return json string * @throws IOException */ public String streamToString(final InputStream is) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; try { while ( (line = reader.readLine()) != null ) { sb.append(line + "\n"); } } catch ( IOException e ) { throw e; } finally { try { is.close(); } catch ( IOException e ) { throw e; } } return sb.toString(); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload