我刚刚开始使用 android,ant 给了我以下错误:
-compile: java:44: cannot find symbol
[javac] symbol : method getSystemService(java.lang.String)
[javac] AudioManager am = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
^
我不明白这个问题,因为我正在导入android.media.AudioManager;
我的代码如下:
package com.example.findme;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;
import android.media.AudioManager;
public class SMSReceiver extends BroadcastReceiver
{
public final static String EXTRA_MESSAGE = "com.example.RemoVol.MESSAGE";
public final static String SILENT_MESSAGE = "Your phone has been silenced";
public final static String VOLUME_MESSAGE = "Your phone volume is normal";
@Override
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage msgs[] = null;
String str ="";
String testString="";
if (bundle != null)
{
//---retrieve the SMS message received---
Object pdus[]=(Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from" + msgs[i].getOriginatingAddress();
str += " :";
str +=msgs[i].getMessageBody().toString();
testString=msgs[i].getMessageBody().toString();
str += "\n";
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
if(testString.equals("#silent"))
{
intent.putExtra(EXTRA_MESSAGE, SILENT_MESSAGE);
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
else if(testString.equals("#volume"))
{
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
intent.putExtra(EXTRA_MESSAGE, VOLUME_MESSAGE);
}
}
}
}
我正在使用 android 项目根目录中的命令“ant debug”进行编译。
我希望这并不是一件愚蠢而明显的事情。如果我浪费了您的时间,请提前致歉。
感谢您查看此内容。
您需要传递 BroadcastReceiver 提供的上下文(您不能使用this
)
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
if(testString.equals("#silent"))
{
intent.putExtra(EXTRA_MESSAGE, SILENT_MESSAGE);
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
else if(testString.equals("#volume"))
{
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
intent.putExtra(EXTRA_MESSAGE, VOLUME_MESSAGE);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)