android - 无法解析符号 SmsManager.getDefault()

标签 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 问题的答案中建议“使缓存无效并重新启动”。但不是在这里解决我的问题。

最佳答案

我在这里做错的是我试图通过使用 new 创建 SmsManager 的新 Instance。但是这里需要的是只获取SmsManager的默认Instance

关于android - 无法解析符号 SmsManager.getDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619893/

相关文章:

android - 如何获取短信的接收时间

android - 无法从变量在Android中发送短信

android - Osmdroid 在标记内插入文本

java - "android.R.id.content"生成错误,无需更改源代码

java - AS 2.3 更新破坏了我的 gradle 构建

android:我多久可以发送短信

java - 有没有更有效的方法来更新 ListView 或循环遍历字符串数组

android - 我收到 Caused by : android. view.InflateException : Binary XML file line #32: Error inflating class androidx. fragment.app.FragmentContainerView

android - 如何在其 onClick 上更改自定义适配器中的按钮背景?

android - 替换抽屉导航中的 fragment View 的问题