2

私はうまく機能するこのコードを持っています:

Notification n = builder.build();
n.flags = Notification.FLAG_NO_CLEAR;

しかし、電話を再起動すると、通知が消えます。それを実現するフラグはありますか?

4

2 に答える 2

1

いいえ、それは不可能だと思います。

起動時に実行されるサービスを使用して、その通知を再度表示することができます。それ以外の場合、通知は再起動後も保持されません。

于 2012-10-16T01:29:18.963 に答える
1

デバイスの起動時に通知を出力する場合は、システムの起動が完了したときに呼び出されるレシーバーを作成できます。このために、まずレシーバーを作成し、

public class MyReciever extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) 
{
        Log.d("BOOT COMPLETE","SERVICE CALLED>>>>>>>>>>>>");
        //use your code here to print notifications

    }
}

このレシーバーは、システムのブートが完了すると呼び出されます。受信者の onReceive メソッドからサービスを呼び出して、通知を出力することもできます。

また、マニフェスト ファイルで次の規則性を定義する必要があります。

最初に BOOT_COMPLETION インテントを取得するためのパーミッションを定義し、

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

次に、レシーバーも定義します。

 <receiver android:name=".MyReciever" 
             android:enabled="true" 
             android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
于 2012-10-16T05:45:33.340 に答える