我正在尝试用我的项目中的另一个按钮以编程方式调用 Home 按钮。应用程序编译正常,但是当我点击应该调用 Home 的按钮时,我收到以下错误:
尝试在空对象引用上调用虚拟方法“void android.content.Context.startActivity(android.content.Intent)”
这是我的代码(只是必需品):
import android.app.Activity;
import android.content.Intent;
import android.content.Context;
public class ClassName extends ReactContextBaseJavaModule {
private Context context;
@ReactMethod
public void minApp() {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startMain);
}
}
我究竟做错了什么?
解决方案:
由于我的应用程序使用本机反应,java 文件中桥接方法中的代码应如下所示:
import android.content.Intent;
import android.content.Context;
public class ClassName extends ReactContextBaseJavaModule {
@ReactMethod
public void minApp() {
Context context = getReactApplicationContext();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startMain);
}
}
使用它,我们可以Home button
在任何我们想要的地方分配功能;)