android 通过broadcastreceiver调用函数

android call function through broadcastreceiver

我有一个broadcastreceiver.class

 public class Myclass extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {

    }
}

我想在我的 activity.please 中的 broadcastreceiver 中调用函数 告诉我一些代码如何实现这里是我的 activity

public class MainActivity extends AppCompatActivity {
    Context context = this;
    private AudioManager myAudioManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        public void myfunction()
        {
        final Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                PackageManager p = getPackageManager();
                ComponentName componentName = new ComponentName(getApplicationContext(),com.example.faisal.wifiprofile.MainActivity.class);
                p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
                handler.postDelayed(this, 100000);
            }
        }, 100000);
        }
    }
}

这里是函数名 myfunction 我想在 broadcastreceiver 中调用这个函数请告诉我好的解决方案或编辑我的代码提前谢谢

这应该有效:

public class Myclass extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
   MainActivity.myfunction();
}

}

public class MainActivity extends AppCompatActivity {
Context context = this;
private AudioManager myAudioManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

    public static void myfunction()
    {
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {

            PackageManager p = getPackageManager();
            ComponentName componentName = new ComponentName(getApplicationContext(),com.example.faisal.wifiprofile.MainActivity.class);
            p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
            handler.postDelayed(this, 100000);
        }
    }, 100000);
    }

}