小编Eri*_*res的帖子

缺少用于在Windows React Native上生成APK文件的gradle.properties文件

用React Native完成我的Android应用程序后,我想生成一个APK文件,安装在我和我的朋友手机上.为此,我需要编辑某个gradle.properties文件(根据React Native文档).我试图找到这个文件差不多一个星期了,现在结束了upp搜索我的整个C:for the file.我找到了大量具有正确名称的文件,但没有在正确的平面或正确的内容中.

我怀疑问题可能是我使用的是Windows而不是linux或mac(这就是为其编写的文档).是否有另一个文件要使用Windows编辑或我错过了其他东西?

使用Windows 10和React native 0.31.0

react-native

9
推荐指数
1
解决办法
2393
查看次数

应用程序关闭时运行React Native代码

问题

我一直在尝试创建一个React Native应用程序,用于捕获电话并将数字发送到API.我创建了一个工作的本机模块,用于捕获Java中的电话.我还设法将事件发送到我的JavaScript代码并设法捕获此事件并通过JavaScript中的console.log记录该数字.

现在我的问题是我需要应用程序才能工作,即使应用程序已关闭(在后台).我无法找到任何方法来唤醒使用Java模块的本机代码或运行Javascript而无需启动应用程序.


这是我的BroadcastReciver:

package com.wavyassist;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;

import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.bridge.JavaScriptModule;


import android.widget.Toast;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.bridge.Arguments;

import javax.annotation.Nullable;

/** 
 * Created by Erik on 2016-04-06.
 */
public class CallCatcher extends BroadcastReceiver {

private CallCatcherModule module;

public CallCatcher (){
    this.module = CallCatcherModule.getInstance();
}

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING))
    {
        String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
        Toast.makeText(context, "Call from:" +incomingNumber, Toast.LENGTH_LONG).show(); …
Run Code Online (Sandbox Code Playgroud)

android react-native

6
推荐指数
0
解决办法
1034
查看次数

如何从 React Native 中的 Java 代码访问 ReactContext?

我正在尝试创建一个应用程序,它将使用 BroadcastReciver 接听手机的来电。从我的 BroadcastReciver 中,我想使用方法将数字作为事件发送到我的 JS 文件。

我已经检查过我的 Java 代码是否正在工作并且正在捕获调用和号码,但是我的应用程序因提到反应上下文为空的错误而崩溃。我猜这是因为当捕获来自 android 系统的事件并且新实例没有 ReactContext 时,清单(或其他东西)正在创建类的新实例。有没有办法从 Java 代码访问 ReactContext 或通过清单将 ReactContext 发送到 BroadcastReciver?

这是我的 BroadcastReciver:

package com.bridgetest;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;

import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.bridge.JavaScriptModule;


import android.widget.Toast;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.bridge.Arguments;

import javax.annotation.Nullable;

/**
 * Created by Erik on 2016-04-06. 
 */
public class BroadcastReceiverCustom extends BroadcastReceiver {

    ReactContext reactContext;

    public BroadcastReceiverCustom (){
    }

    @Override
    public void onReceive(Context context, …
Run Code Online (Sandbox Code Playgroud)

java android react-native

5
推荐指数
2
解决办法
2381
查看次数

使用Java编译调试时,Java文件找不到DeviceEventManagerModule

我一直在尝试为react-native编写一个模块,当手机收到一个电话时,应该调用一个Javascript方法.但是当我运行命令时react-native run-android,compileDebugJavaWithJavac崩溃时出现以下错误.

CallListenerModule.java:44 error: package DeviceEventManagerModule does not exist (DeviceEventManagerModule.RCTDeviceEventEmitter.class)
Run Code Online (Sandbox Code Playgroud)

这是CallListenerModule类:

import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;


import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.bridge.Arguments;

import android.util.Log;

public class CallListenerModule extends ReactContextBaseJavaModule {
    BroadcastReceiverCustom broadcastRecevier;

    ReactContext context;

    public CallListenerModule(ReactApplicationContext reactContext) {
        super(reactContext);
        context = reactContext;
        broadcastRecevier = new BroadcastReceiverCustom(reactContext);
    }

    @Override
        public String getName() {
        return "CallListenerModule";
    }

    public void sendCallEvent(String incomingNumber){
        WritableMap params = Arguments.createMap();
        params.putString("Number", incomingNumber);
        sendEvent(context, "CallRecevied", params);
    }


    private void …
Run Code Online (Sandbox Code Playgroud)

java android react-native

3
推荐指数
1
解决办法
1048
查看次数

标签 统计

react-native ×4

android ×3

java ×2