Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到符号方法getBaseContext()_Java_Android - Fatal编程技术网

Java 找不到符号方法getBaseContext()

Java 找不到符号方法getBaseContext(),java,android,Java,Android,我想实现一个音频管理器,但我不太清楚应该把它放在哪个类中。如果我放入onCreate,我就不能引用它,但是如果我将它放入广播接收器类,它就找不到getBaseContext()方法。在下面的代码中,找不到getBaseContext()方法: 首先,您不太可能需要使用getBaseContext()方法 其次,从不尝试使用初始值设定项中的上下文 第三,清单注册的BroadcastReceiver——大多数收到的SMS\u接收者都在清单中注册——只用于一个onReceive()调用,因此让Audi

我想实现一个音频管理器,但我不太清楚应该把它放在哪个类中。如果我放入onCreate,我就不能引用它,但是如果我将它放入广播接收器类,它就找不到getBaseContext()方法。在下面的代码中,找不到getBaseContext()方法:


首先,您不太可能需要使用
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 get
Error:(59,67)错误:无法从静态上下文引用非静态方法getSystemService(String)
发布更新的代码您可以在
onReceive
中使用
context
而不是
getBaseContext()
I get
Error:(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请您在这个问题上给出一些想法: