2016-05-24 2 views
0

私はWatchFaceService(WatchFace)を持っており、アプリケーションを実行するたびにSimpleFaceに切り替えてからwatchFaceとして設定する必要があります。多くの再起動の後でかなりイライラします。これは私の周り読ん新しいAndroidのメーカー2Androidスタジオのデフォルトの起動アクティビティとしてWatchFaceServiceを設定するにはどうすればよいですか?

で起こるん気づき

S.O.デフォルトのアクティビティを設定する方法は同じですが、WatchFaceServiceはアクティビティではなくサービスです。

また、Android Studio 2のUIを使用して選択することもできません。

これを達成する方法はありますか?私はそれが実際にはアプリを実行していないので、それは困難かもしれないと思うが、毎回時計のウォッチフェイスを設定します。

アイデア?

答えて

3

短い答えは、これは不可能であるということです。あなたの時計面はServiceなので、アプリのデフォルト(起動)Activityになることはできません。彼らは全く異なるコンポーネントクラスです。

でも、あなたはです。が近づいてきます。

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

    Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER) 
      .putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, 
        new ComponentName(getPackageName(), 
          MyWatchFaceService.class.getName())); 
    startActivity(intent); 

    finish(); 
} 

... MyWatchFaceServiceはあなたの時計の顔サービス(驚き)のクラス名です:あなたがする必要がどのような

は、次のコードを含む小さな小さなシェルActivityを作成することです。また、もちろん、あなたのマニフェストで宣言する必要があります:あなたがアプリを実行したときに

<activity android:name=".FaceActivity" 
       android:enabled="true" 
       android:exported="true"> 
    </activity> 

最後に、FaceActivityを起動するには、Android Studioで着用モジュールを構成します。これは、[実行]メニューの[構成の編集]にあります。

これを実行したら、ASから時計にアプリを実行すると、顔が選択された状態でウォッチ・フェイス・チューザーが開きます。そこから1タップで開始します。

しかし、私はその単一のタップを排除する方法を見ることはできません。

+0

ありがとうございました!私は明日これを試して、報告する。おやすみ。 –

+0

チャームのように働いた。 !将来のリリースでこれがより簡単にできることを願っています –

関連する問題