私はうまく機能するこのコードを持っています:
Notification n = builder.build();
n.flags = Notification.FLAG_NO_CLEAR;
しかし、電話を再起動すると、通知が消えます。それを実現するフラグはありますか?
私はうまく機能するこのコードを持っています:
Notification n = builder.build();
n.flags = Notification.FLAG_NO_CLEAR;
しかし、電話を再起動すると、通知が消えます。それを実現するフラグはありますか?
いいえ、それは不可能だと思います。
起動時に実行されるサービスを使用して、その通知を再度表示することができます。それ以外の場合、通知は再起動後も保持されません。
デバイスの起動時に通知を出力する場合は、システムの起動が完了したときに呼び出されるレシーバーを作成できます。このために、まずレシーバーを作成し、
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>