ServiceInfo.ForegroundServiceTypeShortService フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
This constant will be removed in the future version. Use Android.Content.PM.ForegroundService enum directly instead of this field.
マニフェストの 属性で android.R.attr#foregroundServiceType
にshortService
対応する、"有効期間が短い" サービスのフォアグラウンド サービスの種類。
[Android.Runtime.Register("FOREGROUND_SERVICE_TYPE_SHORT_SERVICE", ApiSince=34)]
[System.Obsolete("This constant will be removed in the future version. Use Android.Content.PM.ForegroundService enum directly instead of this field.", true)]
public const Android.Content.PM.ForegroundService ForegroundServiceTypeShortService = 2048;
[<Android.Runtime.Register("FOREGROUND_SERVICE_TYPE_SHORT_SERVICE", ApiSince=34)>]
[<System.Obsolete("This constant will be removed in the future version. Use Android.Content.PM.ForegroundService enum directly instead of this field.", true)>]
val mutable ForegroundServiceTypeShortService : Android.Content.PM.ForegroundService
フィールド値
Value = 2048実装
- 属性
注釈
マニフェストの 属性で android.R.attr#foregroundServiceType
にshortService
対応する、"有効期間が短い" サービスのフォアグラウンド サービスの種類。
他のフォアグラウンド サービスの種類とは異なり、この型は特定のユース ケースに関連付けられていないため、(以外 android.Manifest.permission#FOREGROUND_SERVICE
の) 特別なアクセス許可は必要ありません。
ただし、この型には次の制限があります。
<ul><li> 型には 3 分のタイムアウトがあります。 この型のフォアグラウンド サービスは、タイムアウト中に 、 またはそのオーバーロードによってandroid.app.Service#stopSelf()
android.content.Context#stopService(android.content.Intent)
停止する必要があります)。 android.app.Service#stopForeground(int)
は機能します。これにより、サービスが "バックグラウンド" サービスに降格され、システムによって間もなく停止されます。
タイムアウト中にサービスが停止しない場合は、 android.app.Service#onTimeout(int)
が呼び出されます。 システムがこのコールバックを呼び出しても、サービスは自動的に停止されないことに注意してください。 このコールバックを取得した場合でも、前述の方法のいずれかを使用してサービスを停止する必要があります。
コールバック後もサービスが停止しない場合、アプリは数秒の短い猶予期間の後に ANR として宣言されます。 <li> この型のフォアグラウンド サービスを "固定" にすることはできません (「」を参照)。android.app.Service#START_STICKY
つまり、短い foregorund サービスの実行中にクラッシュまたはメモリ不足が原因でアプリが強制終了された場合、システムはサービスを再起動しません。 <li> その他のフォアグラウンド サービスは、ショート フォアグラウンド サービスから開始できません。 他のフォアグラウンド サービスの種類とは異なり、"short" フォアグラウンド サービスのみを持つアプリがバックグラウンドで実行されている場合、ここで説明する制限のため、他のフォアグラウンド サービスを開始することはできません。
背景の制限は、開始 <li> 複数のフォアグラウンド サービスの種類を と |
組み合わせることができ、 を組み合わせることができます android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
。 他の型にも使用できます。 ただし、 は、 android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
使用する有効なフォアグラウンド サービスが他になく、タイムアウトがタスクに対して十分な長さであり、他の型を使用できる場合は、この型を使用しても意味がない状況を対象としています。 このため、 が他のフォアグラウンド サービスの種類と組み合わされている場合 android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
、システムはそれを無視するだけで、その結果、上記の制限は適用されません (たとえば、タイムアウトは発生しません)。 </ul>
また、Android バージョンで追加された場合 android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
でも、以前の Android バージョン android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE
でも使用できます (他の新しいフォアグラウンド サービスの種類を使用できるのと同様です)。 ただし、 android.app.Service#onTimeout(int)
以前のバージョンには存在しなかったため、そのようなバージョンでは呼び出されません。 このため、開発者は、このようなバージョンで が呼び出されない場合 android.app.Service#onTimeout(int)
でも、フォアグラウンド サービスを停止する必要があります。
の android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。