2017-04-06 10 views
0

私はAndroid Wearアプリを開発しています。これは分析のためにセンサーから重要なデータを収集します。それはまだ乳児用プロジェクトであり、我々はそれがいくつかの特定の着用可能なデバイスで動作するようにしたい。Android Wearアプリを特定の端末に限定するにはどうすればよいですか?

ただし、ウェアラブルアプリは、「さまざまなウェアラブルデバイスとの互換性がないため」にアルファ版を公開した後、Google Playで拒否されました。

あなたのアプリの基本機能は、説明どおりに機能しません。 Android Wearのさまざまなデバイスや設定でアプリをテストしてください。

デベロッパーコンソールでは、[デバイスの管理]ボタンはハンドヘルドデバイスでのみ機能します。ウェアラブルデバイスはすべて「サポートされていない」とマークされています。

dev console screenshot

どのようにAndroid Wearアプリのサポートされているデバイスを指定するのですか?

アップデート(マニフェスト)

電話:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="tsundere.frederick.myapp"> 

    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.BODY_SENSORS" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.LOCATION_HARDWARE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 

    <application 
     android:name=".Application" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:launchMode="singleTop" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <service 
      android:name=".listener.SensorListener" 
      android:enabled="true" 
      android:exported="true"> 
      <intent-filter> 
       <action android:name="com.google.android.gms.wearable.DATA_CHANGED" /> 

       <data 
        android:host="*" 
        android:pathPrefix="/myapp_sensor" 
        android:scheme="wear" /> 
      </intent-filter> 
     </service> 
     <service 
      android:name=".listener.OpenPhoneListener" 
      android:enabled="true" 
      android:exported="true"> 
      <intent-filter> 
       <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" /> 

       <data 
        android:host="*" 
        android:pathPrefix="/myapp_open_phone" 
        android:scheme="wear" /> 
      </intent-filter> 
     </service> 

     <activity android:name=".LabelActivity" /> 
     <activity android:name=".SettingActivity" /> 
    </application> 

</manifest> 

服:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="tsundere.frederick.myapp"> 

    <uses-feature android:name="android.hardware.type.watch"/> 

    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="android.permission.BODY_SENSORS"/> 

    <application 
      android:name=".Application" 
      android:allowBackup="true" 
      android:icon="@mipmap/ic_launcher" 
      android:label="@string/app_name" 
      android:supportsRtl="true" 
      android:theme="@android:style/Theme.DeviceDefault"> 
     <uses-library 
       android:name="com.google.android.wearable" 
       android:required="false"/> 

     <activity 
       android:name=".MainActivity" 
       android:label="@string/app_name" 
       android:theme="@android:style/Theme.DeviceDefault.Light"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 

     <service 
       android:name=".service.MinimalSensorService" 
       android:enabled="true" 
       android:exported="false"> 
     </service> 
    </application> 

</manifest> 
+0

こんにちは、私たちにプレイストアのフィルタリングについて考慮してもらうためにマニフェストを投稿してください。 Playストアはマニフェストと最小/最大SDKのみを使用して互換性をフィルタリングします – gbaccetta

+0

@gbaccetta更新。現在、私はMoto 360 Sportでのみ動作するようにしたい。 –

+0

この[Googleコミュニティの投稿](https://plus.google.com/107096860394212846662/posts/9tPW5zX7PyZ)によると、これは通常、すべての画面解像度で機能しないことを意味します。または「二重チェックは正方形と円形のデバイスの両方で正しく行われます」 [レイアウトの定義](https://developer.android.com/training/wearables/ui/layouts.html)と[Android Wearの種類の検出](http://stackoverflow.com/)で画面の解像度を確認してください。質問/ 24907557/android-wear-type-detection-round-or square)。 – noogui

答えて

0

これは、Android Wear 1.xのためのデバイスによって制限することはできませんWear 2.0がMoto 260 Sportにヒットしたら、スタンドアロンのAPKをアップロードして、「デバイスの管理」を使ってGoogle Playで特定のデバイスを選択することができます。

関連する問題