小编Pub*_*ame的帖子

在空对象引用上接收“android.content.Context android.content.Context.getApplicationContext()”

我是 android 开发和使用 java 编写脚本的新手。我正在尝试创建一个应用程序,允许我通过开关打开和关闭内部麦克风。我找到了两个脚本(一个开关脚本和一个麦克风控制脚本),我把它们放在一起,纠正了任何调试问题,目前脚本显示干净。然而,当它在手机或模拟器上运行时,它会立即崩溃并发布以下错误,

android.content.Context android.content.Context.getApplicationContext()' on a null object reference"集中在我对 import android.content.Context; 的使用上。

该错误似乎是基于 Context.getApplicationContext 请求未能找到结果并因此发布 NULL。

我查看了一长串其他遭受类似问题的人,但所有解决方案似乎都集中在对其代码不同区域的更改上,而我无法将其与我自己的脚本联系起来。

package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Switch;

public class MainActivity extends AppCompatActivity {

    private Switch sw1;
    Button btnGet;
    Context context = getApplicationContext();
    AudioManager audioManager = ((AudioManager)context.getSystemService(Context.AUDIO_SERVICE));
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sw1 = findViewById(R.id.switch1);
        btnGet = findViewById(R.id.getBtn);
        btnGet.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception android-audiomanager

0
推荐指数
1
解决办法
4554
查看次数