java.lang.Exception: не удалось разрешить метод startActivityForResult для класса android.app.Activity - PullRequest
0 голосов
/ 29 августа 2018

Nativescript (4.1) угловой проект (tns create app --ng) начинает работу. Но я получаю ошибку.

JS: ERROR Error: java.lang.Exception: Failed resolving method startActivityForResult on class android.app.Activity
JS:     com.tns.Runtime.resolveMethodOverload(Runtime.java:1062)
JS:     com.tns.Runtime.callJSMethodNative(Native Method)
JS:     com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1101)
JS:     com.tns.Runtime.callJSMethodImpl(Runtime.java:983)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:970)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:954)
JS:     com.tns.Runtime.callJSMethod(Runtime.java:946)

ngAfterViewInit() {
    const intent = new android.content.Intent((android.provider.Settings as any).ACTION_MANAGE_OVERLAY_PERMISSION,
    android.net.Uri.parse('package:' + application.android.context.getPackageName()));
    const activity = application.android.foregroundActivity || application.android.startActivity;
    activity.startActivityForResult(intent);
}

1 Ответ

0 голосов
/ 30 августа 2018

Я нашел решение этой ошибки.

ngAfterViewInit() {
        const application = require("application");
        const RESULT_CODE_OVERLAY_PERMISSION = 1234;
        const intent = new android.content.Intent((android.provider.Settings as any).ACTION_MANAGE_OVERLAY_PERMISSION,
        android.net.Uri.parse('package:' + application.android.context.getPackageName()));
        const activity = application.android.foregroundActivity || application.android.startActivity;
        application.android.on(application.AndroidApplication.activityResultEvent, (args) => console.log(args));
        activity.startActivityForResult(intent, RESULT_CODE_OVERLAY_PERMISSION);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...