java - 以编程方式访问 React Native 中的“主页”按钮

标签 java android react-native home-button

我正在尝试以编程方式使用项目中的另一个按钮调用“主页”按钮。应用程序编译正常,但是当我点击应该调用 Home 的按钮时,我收到以下错误:

Attempt to invoke virtual method 'void android.content.Context.startActivity(android.content.Intent)' on a null object reference

这是我的代码(只是要点):

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);
  }
}

我做错了什么?

解决方案:

由于我的应用程序使用React Native,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在我们想要的任何地方运行;)

最佳答案

public void openLauncher(Context context) {
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(startMain);
}

您可以使用此功能打开启动器。

关于java - 以编程方式访问 React Native 中的“主页”按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52497597/

相关文章:

android - 从 Android 中的 WebView 截取屏幕截图

javascript - react native 导航器在大型应用程序中建模的最佳方式?

react-native - android启动问题。不支持的类(class)文件主要版本57

java - 是否有可能以适用于 Java 中所有语言环境的方式编写自定义日期格式?

java - 当我的文本字段位于另一个类中时,如何使 jWindow 出现在文本字段下方?

java - class.getAnnotation 和 getAnnotations 不能正常工作

react-native - 如何从身份证和护照扫描和提取数据

java - 如何在 PlayFramework 2.5 (JAVA) 中配置 Morphia/MongoDB 数据源

java - 在 Android SQLite 表中返回 Count(*)

android - 在首选项中更改摘要的字体大小