1

我正在将此代码用于我的 android 应用程序。但是这段代码中的问题是它在模拟器上安装时可以完美运行。一旦我尝试在我的手机中安装它,它就会安装,但是在打开应用程序时它会显示错误消息,因为应用程序没有响应。我需要使用开关按钮。还有其他方法可以使用它吗?

    switch1= (Switch) findViewById(R.id.switch1);

    switch1.setOnClickListener(new View.OnClickListener() 
    {
        public void onClick(View v) 
        {  
             if(switch1.getText().toString().equals("On"))
             {
                String message = "t030s005n123456";                 

                sendSMS(phoneNo, message);          
             }

             else if(switch1.getText().toString().equals("Off"))
             {
                String message = "notn123456";                 

                sendSMS(phoneNo, message);  
             }
        }
    });
4

2 回答 2

0

switch1= (Switch) findViewById(R.id.switch1);

Api levels lesser than 14 does not support your switch1 obj must be null.. 
place if(switch1!=null)
{
//click listener
}

还要确保您的设备升级到 api 级别 14 ICE_CREAM_SANDWICH

由于开关小部件来自 api 级别 14。

于 2012-05-19T11:32:40.820 回答
0

sendSms()在新线程中调用方法。这只是一个快速修复。

new Thread(new Runnable() {
        @Override
        void run() {
            sendSms();
        }
    }
}).start();

或者,您可能希望在完成发送任务时显示进度对话框并执行其他操作。在这种情况下,使用AsyncTask. 谷歌的好例子。

于 2012-05-19T11:11:59.787 回答