无法解析符号SmsManager.getDefault()

时间:2016-02-25 06:26:18

标签: android android-studio smsmanager

package com.soft.mash.contactmanager;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.widget.Toast;

public class SendSms extends Activity {

    SmsManager smsManager ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public boolean SendMessage(String number, String textMessage) {
        try {
            smsManager = (SmsManager) new SmsManager.getDefault();
            smsManager.sendTextMessage(number, null, textMessage, null, null);
            return true;
        }catch (Exception e)
        {
            Toast.makeText(getApplicationContext(),"SMS sending failed",Toast.LENGTH_SHORT).show();
            e.printStackTrace();
            return false;
        }
    }
}

为什么

cannot resolve symbol 'getDefault()'

正在这里发生?

在一个类似的StackOverflow问题的答案中建议“使缓存无效并重新启动”。但是这里没有解决我的问题。

2 个答案:

答案 0 :(得分:2)

使用smsManager = SmsManager.getDefault();代替类型转换

答案 1 :(得分:2)

我在这里做错的是我尝试使用Instance创建SmsManager newInstance。但是,此处需要的是仅获取SmsManager的默认logstash.bat -e 'input{stdin{}} output{elasticsearch{host=>localhost}}'