Исключение во время выполнения с использованием PeripheralManager - PullRequest
0 голосов
/ 14 июня 2019

Я создаю приложение, которое использует последовательный порт устройства.Для этого я пытался использовать PeripheralManager из Android вещей.У меня есть соответствующие разрешения, указанные в моем манифесте:

<uses-permission android:name="com.google.android.things.permission.MANAGE_INPUT_DRIVERS" />
<uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />

Однако, когда я пытаюсь отладить свой код на устройстве, я получаю исключение времени выполнения: STUB!Вот подробности:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zebratechnologies.androidfulltest_L10AW, PID: 7783
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zebratechnologies.androidfulltest_L10AW/com.zebratechnologies.androidfulltest_L10AW.SerialPortTestActivity}: java.lang.RuntimeException: Stub!
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2791)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2869)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1602)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6528)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.RuntimeException: Stub!
        at com.google.android.things.pio.PeripheralManager.getInstance(PeripheralManager.java:21)
        at com.zebratechnologies.androidfulltest_L10AW.SerialPortTestActivity.Init(SerialPortTestActivity.java:29)
        at com.zebratechnologies.androidfulltest_L10AW.SerialPortTestActivity.onCreate(SerialPortTestActivity.java:22)
        at android.app.Activity.performCreate(Activity.java:7026)
        at android.app.Activity.performCreate(Activity.java:7017)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2744)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2869) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1602) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6528) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 

Вот код, который я пытаюсь запустить на устройстве:

import android.app.Activity;
import android.os.Bundle;
import com.google.android.things.pio.PeripheralManager;
import java.util.List;

public class SerialPortTestActivity extends Activity {

    PeripheralManager manager;
    List<String> deviceList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Init();
        System.out.println(findSerialPorts());

    }

    protected void Init() {
        manager = PeripheralManager.getInstance();
        deviceList = manager.getUartDeviceList();
    }

    public String findSerialPorts() {

        if (deviceList.isEmpty()) {
            return"No UART port available on this device.";
        } else {
            return("List of available devices: " + deviceList);
        }
    }
}

Кто-нибудь знает, почему это происходит?Спасибо за любую помощь!

...