私は、ジグビーデバイスと通信するシステムサービスを作成しました。 APIを更新し、system.imgを作成してデバイスでフラッシュし、アンドロイドプログラミングのカスタムSDKを作成しました。 Mainactivityクラスでカスタムシステムサービスのコンテキストエラー
、
try {
ZigbeeManager zm = (ZigbeeManager) getSystemService(Context.ZIGBEE_SERVICE);
zm.write("Hello World!\r");
} catch (Exception ex) {
Log.d(TAG, "Error in Zigbee Service: " + ex.toString());
}
私は言葉 "Context.ZIGBEE_SERVICE" 上でエラーを取得しています。私がカーソルをその上に置くと、 "すべてのシステムサービスのリスト"のいずれかでなければなりません。 他のシステムサービスの使用また、他のシステムサービスと同様に、ZigbeeサービスはContext.classファイルで利用できます。
...
public static final String WIFI_SERVICE = "wifi";
public static final String WINDOW_SERVICE = "window";
public static final String ZIGBEE_SERVICE = "zigbee";
これをデバイスで実行すると、私はlogcatでこのエラーメッセージを受け取ります。
01-01 12:09:24.126 6874-6874/com.jcxmej.uartcontrol D/UARTControl: Error in Zigbee Service: java.lang.NullPointerException: Attempt to invoke interface method 'int android.os.IZigbeeService.write(java.lang.String)' on a null object reference
オブジェクトはNullです。それは初期化される必要がありますが、どうですか?しかし、コンテキストが適切にリンクされていないため、Nullだと思います。コンテキストエラーを取り除くにはどうしたらいいですか?または、コンテキストにZigbeeサービスを適切に追加します。
私は参考としてこれを使用しました。 https://github.com/nayobix/add-new-hardware-hal-android-5-lollipop
あなたが投稿した参照には、次のようなサービス呼び出しがあります。 "SensorHubMgmtManager om =(SensorHubMgmtManager)getSystemService(Context.SENSORHUBMGMT_SERVICE);" – Jim
@Jimはい。私のものと似ています。 ZigbeeManager zm =(ZigbeeManager)getSystemService(Context.ZIGBEE_SERVICE); – jcxmej
@UmarAtaそうではありません。 YourServiceとは何ですか? – jcxmej