无法解析符号 SmsManager.getDefault()
cannot resolve symbol SmsManager.getDefault()
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()'
发生在这里?
在一个类似的 Whosebug 问题的答案中建议 "Invalidate Cache and restart"。但不是在这里解决我的问题。
使用 smsManager = SmsManager.getDefault();
而不是类型转换
我在这里做错的是我试图通过使用 new
创建 SmsManager
的新 Instance
。但是这里需要的是只得到默认的Instance
of 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()'
发生在这里?
在一个类似的 Whosebug 问题的答案中建议 "Invalidate Cache and restart"。但不是在这里解决我的问题。
使用 smsManager = SmsManager.getDefault();
而不是类型转换
我在这里做错的是我试图通过使用 new
创建 SmsManager
的新 Instance
。但是这里需要的是只得到默认的Instance
of SmsManager
.