Android emulator 为什么“活动”在emulator上运行良好,但在设备上却关闭了?

Android emulator 为什么“活动”在emulator上运行良好,但在设备上却关闭了?,android-emulator,android,Android Emulator,Android,我执行此活动是为了向用户发送文本消息。这在emulator上运行正常,但在设备上强制关闭。当我为按钮(发送/取消)提供侦听器而不覆盖单击方法时,它也会强制关闭 import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsManager; import androi

我执行此活动是为了向用户发送文本消息。这在emulator上运行正常,但在设备上强制关闭。当我为按钮(发送/取消)提供侦听器而不覆盖单击方法时,它也会强制关闭

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class SendInvitationActivity extends Activity implements View.OnClickListener {

    Button btncancel, btnsend;
    EditText et_name, et_phone;

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

        //et_name=new EditText(getApplicationContext());
        et_name = (EditText) findViewById(R.id.invite_name);
        //et_name.setText("");

        //et_phone=new EditText(getApplicationContext());
        et_phone = (EditText) findViewById(R.id.invite_phno);
        //et_phone.setText("");

        //btncancel=new Button(getApplicationContext());
        btncancel=(Button) findViewById(R.id.buttonNotWorking);

             **it is closing even on providing listener here... 

            btncancel.setOnClickListener(this);

        //btnsend=new Button(getApplicationContext());
        btnsend = (Button) findViewById(R.id.button1);

        btncancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent();
                i.setClassName("a.b.c","a.b.c.firstactivity");
                startActivity(i);
                finish();

            }
        });



        btnsend.setOnClickListener(this);

    }




    public void sendMessage(String pno){
        String message = "Hi, Please download and install Family Finder to connect with me";
        PendingIntent pi = PendingIntent.getActivity(this, 0,
                new Intent(this, SendInvitationActivity.class), 0);
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(pno, null, message, null, null);


     }

    @Override
    public void onClick(View v) {
        if (v == btnsend) {

            String phoneNo = et_phone.getText().toString();
            String name = et_name.getText().toString();
            String message = "Hi, Please download and install Family Finder to connect with me";
            if (phoneNo.length() > 0 && name.length() > 0) {
                PendingIntent pi = PendingIntent.getActivity(this, 0,
                        new Intent(this, SendInvitationActivity.class), 0);
                SmsManager sms = SmsManager.getDefault();
                sms.sendTextMessage(phoneNo, null, message, null, null);

                Intent it=new Intent();
                it.setClassName("com.a3.activity","com.a3.activity.FamilyFinderActivity");
                startActivity(it);
                finish();



            } else
                Toast.makeText(this,
                        "Please enter both Name and Phone number.",
                        Toast.LENGTH_SHORT).show();
        }
        /*if (v == btncancel) {
            Intent i = new Intent();
            i.setClassName("a.b.c",
                    "a.b.c.firstactivity");
            startActivity(i);
            finish();
        }*/

    }


}

如果您通过设置断点并检查logcat对此进行调试,将会有所帮助。

也许您可以添加设备型号?可能您的设备缺少FamilyFinderActivity组件,这就是它崩溃的原因。如果你想用它,您应该为您的用户提供安装方法。可能存在版本问题。您的设备版本可能不支持某些功能或代码。可能是您手机上的android Sdk版本低于您应用程序的最低版本。我在手机上使用的android版本Sdk为2.3.5..,最低Sdk版本为2.1(更新)可能不是问题所在。。