2

通知で遊んでいますが、ICSで動作するように、Froyo(または3.0未満の他のAndroidバージョン)で動作するカスタムレイアウトで通知を作成できませんでした。

問題は、保留中のインテントを単一のビューに関連付けたいということです。

私の意見では、アプリの通知トグルがこれを行うため、回避策がありますが、方法はわかりません。

私を助けてください。

よろしく

4

3 に答える 3

1

Notification Toggles は、3.0 未満の Android ではまったく異なるトリガー方法を使用します。私も自分で問題を解決しなければなりませんでした。

彼らの方法 (私も使用しました) は、非表示の 1x1 ピクセル システム ウィンドウを作成し、ウィンドウの外側のクリックを含むすべてのクリックを傍受し、X 座標を取得してから、クリック イベントを変更せずに渡します。

public boolean onTouch(View v, MotionEvent event) {
    x = event.getRawX();
    return false;
}

次に、何らかのクリックで ContentIntent が起動されたとき (そして、そのクリックの X 座標がわかっている場合)、何をすべきかを計算します。

于 2013-03-04T13:53:03.093 に答える
1

通知で遊んでいますが、ICSで動作するように、Froyo(または3.0未満の他のAndroidバージョン)で動作するカスタムレイアウトで通知を作成できませんでした。

以前のバージョンでカスタム レイアウトを作成できますが、クリック イベントに確実に応答することはできません。

問題は、保留中のインテントを単一のビューに関連付けたいということです。

これは、Android 4.1 でリッチ通知が追加される前はサポートされていません。メーカーの変更により、一部のデバイスで機能する場合がありますが、すべてのデバイスで機能するとは限りません。

私の意見では、アプリの通知トグルがこれを行うため、回避策がありますが、方法がわかりません

「通知トグル」は、デバイス ファームウェア (OS またはメーカーによる変更) の一部であり、SDK アプリケーションの一部ではありません。

于 2013-02-19T18:38:53.667 に答える
0

GingerBread は ContentIntent を期待しています。そこで、次のようなダミーの保留中のインテントを追加しました。

        pi = PendingIntent.getBroadcast(this, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
        Notification notification =  new NotificationCompat.Builder(this).setAutoCancel(true)
                                        .setContentTitle(userString)
                                        .setContentText("Queued")
                                        .setContentIntent(pi)
                                        .setSmallIcon(R.drawable.stat_sys_download_done)
                                        .setWhen(System.currentTimeMillis())
                                        .setTicker(tickerText)
                                        .build();
于 2013-03-04T13:28:54.103 に答える