1

ここで明らかなことを完全に見落としている場合はご容赦ください。コードからsmartWatch 1とsmartWatch 2を区別する方法を見つけることができないようです.ハードウェアとディスプレイサイズにいくつかの違いがあるようです.それを説明するために。スー...誰かが現在の時計の表示サイズを取得する方法、または現在の時計がSmartWatch 1または2であるかどうかを判断する方法を知っていれば、本当に感謝しています!!!

これが私が試したものですが、両方の時計で常に220x176を返すようです

public static int getSupportedControlWidth(Context context) {
    return context.getResources().getDimensionPixelSize(R.dimen.smart_watch_2_control_width);
}

public static int getSupportedControlHeight(Context context) {
    return context.getResources().getDimensionPixelSize(R.dimen.smart_watch_2_control_height);
}
4

3 に答える 3

0

わかりました、これを機能させる方法を見つけました!! SampleExtensionService.java ファイルを開き、CreateControlExtension 関数から hotAppPackageName を取得しました。基本的に、SampleExtensionService.java を次のように動作するように更新しました。

public static String hostPackage = "";
@Override
public ControlExtension createControlExtension(String hostAppPackageName) {
    hostPackage = hostAppPackageName;
    return new SampleSensorControl(hostAppPackageName, this);
}

ここで、次のように SampleExtenionService から hostPackage を呼び出すだけです。

String pkg = SampleExtensionService.hostAppPackageName

そして今、これは com.sonymobile.smartwatch2 または com.sonyericsson.extras.smartwatch を返します

私にとってはうまくいくようです!! それが他の誰かを助けることを願っています!

- - - - - - 編集 - - - - - - -

わかりましたので、私は今完全にばかのように感じます!!! コントロール拡張機能を作成していますが、初期化ステップの右側に hostAppPackageName があります

SampleSensorControl(final String hostAppPackageName, final Context context) {

:-0!!!!! 他の誰かに役立つ場合に備えて、最初の回答を残します。

于 2013-11-02T16:26:20.797 に答える