2017-04-11 121 views
-1

我想在Android Studio中制作一个Android应用程序,它会将包含固定消息的短消息发送到按下按钮上的固定号码。用SmsManager发送短信

我已经创建了一个名为button1的按钮的布局。

这是我MainActivity.java(带下计算器,它看起来朴实善良)

package com.example.hfbkalarm; 

import android.app.Activity; 

import android.telephony.SmsManager; 

import android.widget.Button; 


public class MainActivity extends Activity { 
sendMySmsBtn=(Button)findViewById(R.id.button1); 
sendMySmsBtn.setonclickListener(new OnClickListener(){ 
    public void Onclick() 
    { 
     sendSMS("<the number goes here>", "<message goes here>"); 
    }); 


private void sendSMS(String phoneNumber, String message) 
{ 
    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage(phoneNumber, null, message,null, null); 
} 

的sendMySmsBtn显示为红色,并说无法解析符号“sendMySmsBtn”,并试图运行时,我得到10个错误它在我的手机上。

我对此很少有经验,我完全失去了,因为在同一个问题上的每个答案看起来都不一样。

编辑

我做了Nisalon在编辑答案中提出的建议。

在thisa部分“(新OnClickListener()”的OnClickListener仍然是红色的,但现在它给了我一个选项,以查看或DialogInterface

另外的OnClick导入OnClickListener后一部分是灰色的,说的变量从未使用过

public class MainActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    Button sendMySmsBtn =(Button)findViewById(R.id.button1); 

    sendMySmsBtn=(Button)findViewById(R.id.button1); 
    sendMySmsBtn.setOnClickListener(new OnClickListener(){ 
     public void Onclick() 
     { 
      sendSMS("<the number goes here>", "<message goes here>"); 
     }); 
    } 
} 

     private void sendSMS(String phoneNumber, String message) 
     { 
      SmsManager sms = SmsManager.getDefault(); 
      sms.sendTextMessage(phoneNumber, null, message,null, null); 
     } 
    } 

我看过别人的短信代码使用的视图,但我有什么用它做

回答

0

您需要首先定义按钮变量:?

Button sendMySmsBtn =(Button)findViewById(R.id.button1); 

此外,您还需要修复的setOnClickListener方法的资本:

sendMySmsBtn.setOnClickListener(new OnClickListener(){ 

确保您已经添加了SEND_SMS允许您AndroidManifest.xml

你的代码Button sendMySmsBtn......here>"); });需要被包裹在onCreate方法是这样的:

/** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

Button sendMySmsBtn =(Button)findViewById(R.id.button1); 

sendMySmsBtn=(Button)findViewById(R.id.button1); 
sendMySmsBtn.setOnClickListener(new OnClickListener(){ 
    public void onClick() 
    { 
     sendSMS("<the number goes here>", "<message goes here>"); 
    }); 

    } 

请确保你有叫activity_main.xml一个布局文件,其中包含一个名为Button1的

导入android.view.View.OnClickListener按钮和纠正onClick

+0

资本我有明显的形状是,仍然没有运气,虽然我说你行和放在首都 – wildfin

+0

我已经更新了我的答案,请参阅上面的 – Nisalon

+0

添加了您的oncreate,但我仍然需要使用OnClickListener做些事情。我更新了我原来的帖子 – wildfin