Java 找不到符号方法getBaseContext()
我想实现一个音频管理器,但我不太清楚应该把它放在哪个类中。如果我放入onCreate,我就不能引用它,但是如果我将它放入广播接收器类,它就找不到getBaseContext()方法。在下面的代码中,找不到getBaseContext()方法:Java 找不到符号方法getBaseContext(),java,android,Java,Android,我想实现一个音频管理器,但我不太清楚应该把它放在哪个类中。如果我放入onCreate,我就不能引用它,但是如果我将它放入广播接收器类,它就找不到getBaseContext()方法。在下面的代码中,找不到getBaseContext()方法: 首先,您不太可能需要使用getBaseContext()方法 其次,从不尝试使用初始值设定项中的上下文 第三,清单注册的BroadcastReceiver——大多数收到的SMS\u接收者都在清单中注册——只用于一个onReceive()调用,因此让Audi
首先,您不太可能需要使用
getBaseContext()
方法
其次,从不尝试使用初始值设定项中的上下文
第三,清单注册的BroadcastReceiver
——大多数收到的SMS\u
接收者都在清单中注册——只用于一个onReceive()
调用,因此让AudioManager
成为类的数据成员没有任何价值,而不仅仅是onReceive()中的一个局部变量
方法
您可以在传递到onReceive()
的上下文上调用getSystemService()
,可能在if(extras!=null)
块内
换言之:
class SmsFilter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null){
String action = intent.getAction();
if (action.equals("android.provider.Telephony.SMS_RECEIVED")){
Bundle extras = intent.getExtras();
if (extras != null){
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
}
}
}
首先,您不太可能需要使用getBaseContext()
方法
其次,从不尝试使用初始值设定项中的上下文
第三,清单注册的BroadcastReceiver
——大多数收到的SMS\u
接收者都在清单中注册——只用于一个onReceive()
调用,因此让AudioManager
成为类的数据成员没有任何价值,而不仅仅是onReceive()中的一个局部变量
方法
您可以在传递到onReceive()
的上下文上调用getSystemService()
,可能在if(extras!=null)
块内
换言之:
class SmsFilter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null){
String action = intent.getAction();
if (action.equals("android.provider.Telephony.SMS_RECEIVED")){
Bundle extras = intent.getExtras();
if (extras != null){
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
}
}
}
首先,您不太可能需要使用getBaseContext()
方法
其次,从不尝试使用初始值设定项中的上下文
第三,清单注册的BroadcastReceiver
——大多数收到的SMS\u
接收者都在清单中注册——只用于一个onReceive()
调用,因此让AudioManager
成为类的数据成员没有任何价值,而不仅仅是onReceive()中的一个局部变量
方法
您可以在传递到onReceive()
的上下文上调用getSystemService()
,可能在if(extras!=null)
块内
换言之:
class SmsFilter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null){
String action = intent.getAction();
if (action.equals("android.provider.Telephony.SMS_RECEIVED")){
Bundle extras = intent.getExtras();
if (extras != null){
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
}
}
}
首先,您不太可能需要使用getBaseContext()
方法
其次,从不尝试使用初始值设定项中的上下文
第三,清单注册的BroadcastReceiver
——大多数收到的SMS\u
接收者都在清单中注册——只用于一个onReceive()
调用,因此让AudioManager
成为类的数据成员没有任何价值,而不仅仅是onReceive()中的一个局部变量
方法
您可以在传递到onReceive()
的上下文上调用getSystemService()
,可能在if(extras!=null)
块内
换言之:
class SmsFilter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null){
String action = intent.getAction();
if (action.equals("android.provider.Telephony.SMS_RECEIVED")){
Bundle extras = intent.getExtras();
if (extras != null){
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
}
}
}
您可以在onReceive
中使用context
而不是getBaseContext()
I getError:(59,67)错误:无法从静态上下文引用非静态方法getSystemService(String)
发布更新的代码您可以在onReceive
中使用context
而不是getBaseContext()
I getError:(59,67)错误:无法从静态上下文引用非静态方法getSystemService(String)
post更新的代码您可以在onReceive
中使用context
而不是getBaseContext()
I get错误:(59,67)错误:非静态方法getSystemService(String)无法从静态上下文引用
发布更新的代码您可以在onReceive
中使用context
而不是getBaseContext()
I get错误:(59,67)错误:非静态方法getSystemService(字符串)无法从静态上下文引用
发布更新的代码如果我在中调用它,如果(extras!=null)
块中,我在getSystemService
上得到错误:错误:(59,67)错误:非静态方法getSystemService(String)无法从静态上下文中引用
@commonware请您在这个问题上给出一些想法:如果我在If(extras!=null)
块中调用它,我在getSystemService
上得到一个错误:错误:(59,67)错误:非静态方法getSystemService(String)无法从静态上下文中引用
@commonware请您在这个问题上给出一些想法:如果我在If(extras!=null)
块中调用它,我在getSystemService
上得到一个错误:错误:(59,67)错误:非静态方法getSystemService(String)无法从静态上下文中引用
@commonware请您在这个问题上给出一些想法:如果我在If(extras!=null)
块中调用它,我在getSystemService
上得到一个错误:错误:(59,67)错误:非静态方法getSystemService(String)无法从静态上下文引用
@commonware请您在这个问题上给出一些想法: