2

Android Wear 用の SMS アプリがあります ( https://play.google.com/store/apps/details?id=com.awear.coffee )

現在、通常の通知アクションを使用しており、[返信] を選択すると、時計でアクティビティが開始されます。Reply アクションを、いくつかのボタンと文字列のリストを保持するカスタム アクティビティを含む通知ページに置き換えたいと考えています。

私は2つのアプローチを試みました。

コンテンツを保持する大きな通知ページを作成する

Notification.WearableExtender.setCustomContentHeight には非表示の最大値があり、コンテンツが切り取られるため、これは機能しません。setCustomSizePreset(SIZE_LARGE)を使った場合と同じ高さだと思います。大量のテキストを含むデフォルトの通知を使用すると、これよりも大きくなる可能性があることを確認しましたが、カスタム表示インテントを使用すると、クリップされます。

フルスクリーンの通知ページを使用し、スクロールビューを追加します

入力が何らかの形でブロックされるため、これは機能しません。スクロールするたびに、Activity は Action.DOWN、Action.MOVE、Action.CANCEL の順に受け取るため、どれだけドラッグしても Action.MOVE は 1 つしか取得できません。これは、OSが左右のスワイプを制御したいためだと思います。

これを回避する方法についてのアイデアはありますか? カスタム onTouch リスナーを設定しようとしましたが、まだすべてのタッチ イベントを受け取ることはありません。

どんな助けでも大歓迎です。必要なタップとスワイプの回数を減らすことができれば、アプリははるかに優れたものになります。

ヤコブ

4

2 に答える 2

0

ブリッジ通知を使用している場合 (wear モジュールを使用しない場合) 「大きなビュー」スタイル (InboxStyle、BigTextStyle) のいずれかを通知に追加することで、拡張テキスト コンテンツを通知に挿入できます。ハンドヘルド デバイスでは、ユーザーは通知を展開して大きなビュー コンテンツを表示できます。ウェアラブル デバイスでは、ビッグ ビュー コンテンツがデフォルトで表示されます。

BigTextStyle bigStyle = new NotificationCompat.BigTextStyle();
bigStyle.bigText(someBigText);

NotificationCompat.Builder notificationBuilder =
    new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.ic_small)
    .setContentTitle(title)
    .setContentText(contentText)
    .setContentIntent(viewPendingIntent)
    .addAction(R.drawable.ic_map,
            getString(R.string.somestring), mapPendingIntent)
    .setStyle(bigStyle);
于 2015-02-03T10:39:57.220 に答える
0

私は同じ問題に遭遇しました。

の制限setCustomContentHeightはイライラします。私はそれを回避する方法を見つけることができませんでした。

同様に、フルスクリーン通知でタップリスナーに課せられた制限を回避する良い方法はないようです。

Activity私の解決策は、に基づいて起動する通知の最初のページにアクションを追加することでしたGridViewPager。そこに到達すると、制限はなくなりますが、それでもほとんどが通知のように見えます。主な違いは、(1) 最初の通知カードをスワイプするのではなく「タップ」する必要があること、(2) 上下にスワイプしても自動的に次/前の通知に移動しないことです。

于 2015-03-04T00:56:06.933 に答える