This code works on emulator but doesnt work on device


Last Updated:

  1. Ganesh

    Ganesh Member This Topic's Starter

    Joined:
    Dec 25, 2009
    Messages:
    18
    Likes Received:
    0
    I am using API 4, this code works properly on emulator but doesnt work on device (HTC Hero). Can somebody help me plz??




    package com.SampleProject2;
    import android.app.Activity;
    import android.app.PendingIntent;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.Bundle;
    import android.telephony.SmsManager;
    import android.telephony.TelephonyManager;
    import android.text.Layout;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    import android.view.KeyEvent;
    public class SampleProject2 extends Activity {
    LinearLayout linearLayout;
    Layout flowlayout;
    EditText phoneNum;
    Button callBtn;
    TelephonyManager telephonyManager;


    public static final String TABLE = "events";
    // Columns public
    static final String ISMINUM = "isminum";
    public static final String TITLE = "title";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    linearLayout = new LinearLayout(this);
    phoneNum = new EditText(this);
    phoneNum.setHint("Number Here");
    callBtn = new Button(this);
    callBtn.setText("Call..");
    phoneNum.setWidth(200);
    linearLayout.addView(phoneNum);
    linearLayout.addView(callBtn);
    setContentView(linearLayout);
    callBtn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    MakeCall();
    sendSMS (""+phoneNum.getText(),"Sample Message");
    }
    });
    }
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_CALL) {
    MakeCall();
    }
    return false;
    }

    public void MakeCall() {
    phoneNum.setText("" + telephonyManager.getSubscriberId());


    }

    private void sendSMS( String phoneNumber, String message)
    {
    String SENT = "SMS_SENT";
    String DELIVERED = "SMS_DELIVERED";

    PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
    new Intent(SENT), 0);

    PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
    new Intent(DELIVERED), 0);
    registerReceiver(new BroadcastReceiver(){
    @Override
    public void onReceive(Context arg0, Intent arg1) {
    switch (getResultCode())
    {
    case Activity.RESULT_OK:
    Toast.makeText(getBaseContext(), "SMS sent",
    Toast.LENGTH_SHORT).show();
    break;
    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
    Toast.makeText(getBaseContext(), "Generic failure",
    Toast.LENGTH_SHORT).show();
    break;
    case SmsManager.RESULT_ERROR_NO_SERVICE:
    Toast.makeText(getBaseContext(), "No service",
    Toast.LENGTH_SHORT).show();
    break;
    case SmsManager.RESULT_ERROR_NULL_PDU:
    Toast.makeText(getBaseContext(), "Null PDU",
    Toast.LENGTH_SHORT).show();
    break;
    case SmsManager.RESULT_ERROR_RADIO_OFF:
    Toast.makeText(getBaseContext(), "Radio off",
    Toast.LENGTH_SHORT).show();
    break;
    }
    }
    }, new IntentFilter(SENT));

    registerReceiver(new BroadcastReceiver(){
    @Override
    public void onReceive(Context arg0, Intent arg1) {
    switch (getResultCode())
    {
    case Activity.RESULT_OK:
    Toast.makeText(getBaseContext(), "SMS delivered",
    Toast.LENGTH_SHORT).show();
    break;
    case Activity.RESULT_CANCELED:
    Toast.makeText(getBaseContext(), "SMS not delivered",
    Toast.LENGTH_SHORT).show();
    break;
    }
    }
    }, new IntentFilter(DELIVERED));

    try
    {
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
    }
    catch (Exception e)
    {
    System.out.println(""+e.getStackTrace());
    }
    }


    }







    Thank you in advance
     

    Advertisement
  2. KeithG

    KeithG Well-Known Member

    Joined:
    Nov 15, 2009
    Messages:
    103
    Likes Received:
    3
    Check for permission errors with logcat on the device?

    Use the debugger and step through... its not much code :)
     
  3. Ganesh

    Ganesh Member This Topic's Starter

    Joined:
    Dec 25, 2009
    Messages:
    18
    Likes Received:
    0
    I am a newbee in android... I dont know how to check logcat and how to debug on device. I have added permisons in *.xml file the Name of permission is SEND_SMS. Then also it is not getting installed on device
     

Share This Page

Loading...