我正在尝试在对话框中插入SeekBar来改变亮度.为此,我编写了这段代码.
public class Lum extends DialogFragment{
        private SeekBar brightbar;
        private int brightness;
        private ContentResolver cResolver;
        private Window window;
        TextView txtPerc;
        boolean stato;
        Context context;
        public android.app.Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the Builder class for convenient dialog construction
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            LayoutInflater inflater = getActivity().getLayoutInflater();
            View view = inflater.inflate(R.layout.dialog_brightness, null);
            builder.setView(view);
        brightbar = (SeekBar) view.findViewById(R.id.brightbar);
        txtPerc = (TextView) view.findViewById(R.id.txtPercentage);
        //cResolver = getContentResolver();
        //window = getWindow();
        brightbar.setMax(255);
        brightbar.setKeyProgressIncrement(1);
        brightbar = (SeekBar) view.findViewById(R.id.brightbar);
        txtPerc = (TextView) view.findViewById(R.id.txtPercentage);
        cResolver = getContentResolver(); …Run Code Online (Sandbox Code Playgroud) 我必须在一个我必须在Activity中调用的类中使用BroadcastReceiver.显然,我必须注册BroadcastReceiver然后我写了这段代码:
    public class MyClassName {
        Context context;
        BroadcastReceiver batteryInfoReceiverLevel;
        public void CheckBatteryLevel() {
        Log.d("App", "I'm in the CheckBatteryLevel");
        context.registerReceiver(batteryInfoReceiverLevel, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        batteryInfoReceiverLevel = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
            Log.d("Apps", "I'm in the onReceive");
            int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
            if(level <=100) {
//Do something
            }
            else if(level >=100) {
//Do something
            }
            }
            };
        }
    }
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,应用程序崩溃给出" Error receiving broadcast Intent { act=android.intent.action.BATTERY_CHANGED flg=0x60000010 (has extras) }并且崩溃线是
context.registerReceiver(batteryInfoReceiverLevel, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
Run Code Online (Sandbox Code Playgroud)
我该怎么办?