1

Gluon Charm 3.0.0 でカスタム プラグインを作成するには? または似たようなもの。

パッケージ sk.ltorok.gluon.bluetooth.plugins があり、このパッケージには BluetoothServiceFactory と BluetoothService の 2 つのクラスが含まれており、これはコードです。

package sk.ltorok.gluon.bluetooth.plugins;

import com.gluonhq.charm.down.DefaultServiceFactory;

public class BluetoothServiceFactory extends DefaultServiceFactory<BluetoothService> {

    public BluetoothServiceFactory() {
        super(BluetoothService.class);
    }  

}

...そして次のクラス

package sk.ltorok.gluon.bluetooth.plugins;

import java.util.List;

public interface BluetoothService {

    List<String> getPairedDevices();
}

コンストラクターの基本ビュー (私は Gluon Mobile を使用しています) は次のとおりです。

public class BasicView extends View {

    private BluetoothService bluetoothService;

    public BasicView(String name) {
        super(name);
        Services.registerServiceFactory(new BluetoothServiceFactory());
        System.out.println("REGISTER BLUETOOTH");
        boolean isPresent = Services.get(BluetoothService.class).isPresent();
        System.out.println("BLUETOOTH PRESENT: " + isPresent);
        if (isPresent) {
            Optional<BluetoothService> opt = Services.get(BluetoothService.class);
            bluetoothService = opt.get();
        }

...など次のコード...

Android/Java Packages フォルダーには、パッケージ sk.ltorok.gluon.bluetooth.plugins.android があり、 AndroidBluetoothService クラスの実装があります。

package sk.ltorok.gluon.bluetooth.plugins.android;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Build;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javafxports.android.FXActivity;
import sk.ltorok.gluon.bluetooth.plugins.BluetoothService;

public class AndroidBluetoothService implements BluetoothService {
    // ...
}

しかし isPresent は常に false です!

4

0 に答える 0