-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【Android】接触確認アプリCOCOAのローカル通知は機能してないと思われる 件 #8
Comments
cocoa の実装的には Xamarin.ExposureNotification の中身で、バックグラウンドで ExposureNotification::UpdateKeysFromServer を呼び出しています。 この中で、iOS と Android で処理がわかれていて、
という方式になっています。で、Android の broadcast receiver を受けるには AndroidManifest.xml に追加が必要なんだけど、 現状で、Covid19Radar/AndroidManifest.xml at master · openCACAO/Covid19Radar 記述がないのと、 History を見ると 6/25(v.1.1.1 より前?)にいったん消しているんですよね。 Remove from manifest · openCACAO/Covid19Radar@0fcec1d これが原因で通知を受けていないと思います。詳細は、もう少し Xamarin.ExposureNotifications.ExposureNotification の中身を追わないと駄目そうですが。 |
了解です。削除したときのコメントに呼応するのが CallbackService.android.cs みたいですね。 |
気になるTweet。 このTweetでは「アプリを開かないとわからない」とあります。 |
接触通知のコードレビュー照葉さんの 8/17 のツイート
の状態です。 コードを見る現在のコードでは、プッシュ通知の機能が外されている(NotificationCenter関係がコメントアウトされている)ので、プッシュ通知は発生しない のがコード的には正しい動作(アプリとしては不具合/実装漏れ)だと思います。ただし、それ以前に「プッシュ通知が来ていた」のでここの動作が不思議な感じでした。もともと無かったのか、それとも実装されていたのか? Releases · openCACAO/Covid19Radar COCOA のリリースバージョンとはずれていますが、元のコードである Covid19Radar にリリースタグがあります。
ここから過去のコードが zip でダウンロードできます。 COCOAヒストリア · openCACAO/cocoa-documentation Wiki をチェックすると、
の対応になります。 バージョンでコードを比較するぞれぞれのコードを比較して、通知あり/なしを探っていきます。基本 NotificationCenter 絡みになるので、VSCode 等で検索すれば見えてくると思うのですが、ここでは cocoa/App.xaml.cs at master · openCACAO/cocoa をチェックしていきます。 v1.0.0最初のリリースでは、通知 NotificationCenter が有効になっています。
このバージョンは「プッシュ通知が有効」な状態です。 protected override async void OnInitialized()
{
InitializeComponent();
#if DEBUG
// For debug mode, set the mock api provider to interact
// with some fake data
//Xamarin.ExposureNotifications.ExposureNotification.OverrideNativeImplementation(new Services.TestNativeImplementation());
#endif
Xamarin.ExposureNotifications.ExposureNotification.Init();
// Local Notification tap event listener
NotificationCenter.Current.NotificationTapped += OnNotificationTapped; // ※
LogUnobservedTaskExceptions(); v1.1.0次のタグは、USE_MOCK が入ったバージョンです。初回リリース直後に、シミュレーターではTEKのダウンロードができなくてテストが難しいため、エミュレータでも動くように疑似データを入れるようにあめいさんが入れた USE_MOCK バージョンです。
このバージョンでも「プッシュ通知が有効」な状態です。 protected override async void OnInitialized()
{
InitializeComponent();
#if USE_MOCK
// For debug mode, set the mock api provider to interact
// with some fake data
Xamarin.ExposureNotifications.ExposureNotification.OverrideNativeImplementation(new Services.TestNativeImplementation());
#endif
Xamarin.ExposureNotifications.ExposureNotification.Init();
// Local Notification tap event listener
NotificationCenter.Current.NotificationTapped += OnNotificationTapped; // ※
LogUnobservedTaskExceptions(); v1.1.1問題のリリースが、v1.1.1 になります。
おそらく、Xamarin.ExposureNotification の緊急修正を取り込むために、NuGet 上の Xamarin.ExposureNotification をコード単位で取り込み、このときにプッシュ通知関連の「Plugin.LocalNotification」を外したのだと思われます。 全体を NotificationCenter で検索すると、全てコメントアウトされています。 protected override async void OnInitialized()
{
InitializeComponent();
#if USE_MOCK
// For debug mode, set the mock api provider to interact
// with some fake data
Xamarin.ExposureNotifications.ExposureNotification.OverrideNativeImplementation(new Services.TestNativeImplementation());
#endif
Xamarin.ExposureNotifications.ExposureNotification.Init();
// Local Notification tap event listener
//NotificationCenter.Current.NotificationTapped += OnNotificationTapped; // ※
LogUnobservedTaskExceptions(); v1.1.2その後のバージョンは、プッシュ通知 NotificationCenter が外れた状態です。 protected override async void OnInitialized()
{
InitializeComponent();
#if USE_MOCK
// For debug mode, set the mock api provider to interact
// with some fake data
Xamarin.ExposureNotifications.ExposureNotification.OverrideNativeImplementation(new Services.TestNativeImplementation());
#endif
Xamarin.ExposureNotifications.ExposureNotification.Init();
// Local Notification tap event listener
//NotificationCenter.Current.NotificationTapped += OnNotificationTapped; // ※
LogUnobservedTaskExceptions(); v1.1.3最新版もプッシュ通知 NotificationCenter が外れた状態です。 protected override async void OnInitialized()
{
InitializeComponent();
#if USE_MOCK
// For debug mode, set the mock api provider to interact
// with some fake data
Xamarin.ExposureNotifications.ExposureNotification.OverrideNativeImplementation(new Services.TestNativeImplementation());
#endif
Xamarin.ExposureNotifications.ExposureNotification.Init();
// Local Notification tap event listener
//NotificationCenter.Current.NotificationTapped += OnNotificationTapped; // ※
LogUnobservedTaskExceptions(); 過去の現象最初の現象をチェックすると
7/11 というラインが微妙なところなのですが、
にあたると考えられます。タグの v1.1.0 は App Store に上がっていません。 修正案iOS と Android からの週報/月報の通知が混乱した状態なので、ローカル通知自体を復活させるかどうかの検討も必要なのですが(そもそも、v1.1.1 は、OS 側の通知と競合するから消した可能性もあり?)、ローカル通知を復活させるためには、以下のコード修正が望ましいと思われます。
これでローカル通知がでるかのテスト必須ですが。 |
ややこしいのがここです。 iOSはローカル通知(matchCountがあったときの通知)は競合しません。OSがプッシュ通知をだすこと(だしたこと)はありません。 (以前、楠さんが「通知が2つあると混乱するから消した」とTweetされた件は、Androidなら当てはまりますが、iOSには当てはまりません。開発側も「通知」を把握してない気がします。) 但し、EN Expressを導入すれば、アプリのローカル通知(プッシュ通知)は両OS共に不要だと思われます。ExpressになればmatchCountが発生するたびOSが通知を出すはずです。 両OSがだすローカル通知は、matchCountの発生のみはずです。アプリに複雑なリスク判定を持たせるならExpress対応後もアプリのローカル通知(プッシュ通知)は必須になります。(ドイツはきっとこちらでしょう。) 現状、Expressの導入が早期に行われるなら、ローカル通知の修正はないままExpress対応バージョンをだしてくれればいいように思います。 |
全部追い切れないので、実機操作からみた経緯だけ書いておきます。 6/19 1.0.0リリース 1.0.0 インストール時に権限拒否をやるとアプリが実装されないバグ falseの場合、「Siriと検索/通知/バックグラウンド更新/モバイルデータ通信/COVID-19接触通知」、すべてを実装して「COVID-19接触通知」をオフにしてインストールを完了するのが本来のはずです。 (で、私はここのtrue/falseの違いを追い切れないまま放置です…) ですが実際には「Siriと検索/バックグラウンド更新/COVID-19接触通知」だけの実装になり、「COVID-19接触通知」がオフでインストール完了。 (1.1.2からはダイアローグ(エラーメッセージ)の出方が変わったはず。1.1.2からは基本、メッセージがでなくなってます。この辺り、メモ散逸で詳細不明です。エラーメッセージを出さなきゃいけない(Bluetoothがオフの時など)はずなのに、iOSはほぼでません。1.1.3も同様。ENの有効性を問うtrue/falseの判断がどうなってるのか不思議に思ってます。) 7/11 処理番号の問題でサーバー側に修正が入ってから、サーバーが権限拒否を返してくるようになって(なぜ?)、iOSは一律ローカル通知(プッシュ通知)が実装されなくなりました。 7/11以降は「COVID-19接触通知」(ENの有効化スイッチ)も実装されなくなっていたはずです。 8月上旬には「COVID-19接触通知」はなんとか実装されるようになりましたが、ローカル通知は実装されないまま。 13.7でもインストールの最後で「COVID-19接触のログ記録と通知を有効にする」を聞いてきますが「有効にする」にしても、なぜかtrueではなくfalseで完結しているようでローカル通知が実装されない状態です。 |
v1.1.1 のコードを見る限り、v1.1.1 のときに ローカル通知が発生しない なので、
「7/11 サーバーがExposure Notification機能は無効を返してくるようになった」が非常に謎ですね。 コード的には、アプリで「ローカル通知を有効にしますか?」のフラグを、userData.IsNotificationEnabled の中に保存してはいるのですが、v1.1.1 から以下の部分でがっつりコメントアウトされているので、通知されません。 // this will be called when a potential exposure has been detected
public async Task ExposureDetectedAsync(ExposureDetectionSummary summary, Func<Task<IEnumerable<ExposureInfo>>> getExposureInfo)
{
UserExposureSummary userExposureSummary = new UserExposureSummary(summary.DaysSinceLastExposure, summary.MatchedKeyCount, summary.HighestRiskScore, summary.AttenuationDurations, summary.SummationRiskScore);
userData.ExposureSummary = userExposureSummary;
var exposureInfo = await getExposureInfo();
// Add these on main thread in case the UI is visible so it can update
await Device.InvokeOnMainThreadAsync(() =>
{
foreach (var exposure in exposureInfo)
{
Debug.WriteLine($"C19R found exposure {exposure.Timestamp}");
UserExposureInfo userExposureInfo = new UserExposureInfo(exposure.Timestamp, exposure.Duration, exposure.AttenuationValue, exposure.TotalRiskScore, (Covid19Radar.Model.UserRiskLevel)exposure.TransmissionRiskLevel);
userData.ExposureInformation.Add(userExposureInfo);
}
});
await userDataService.SetAsync(userData);
// ※ ここでコメントアウトされている。
// If Enabled Local Notifications
//if (userData.IsNotificationEnabled)
//{
// var notification = new NotificationRequest
// {
// NotificationId = 100,
// Title = AppResources.LocalNotificationTitle,
// Description = AppResources.LocalNotificationDescription
// };
// NotificationCenter.Current.Show(notification);
//}
} ゆえに
という状態で、現状ではローカル通知が発生しません。 |
ローカル通知の件、やっと理解ができたので、追記です。
https://twitter.com/h_okumura/status/1304587718903697408 https://twitter.com/wasa__wasa/status/1304558422860333057 通知のアイコンは「厚生労働省のアイコン」(アプリのアイコン)だが、実際は OS の EN Express の機能から出している。 確かにこのままであれば、アプリからローカル通知を出す必要はありませんね。同感です。 この後で、
に分かれてしまうのは、、アプリが内部で持っている userData.ExposureInformation.Count() の違いで、OS が返す matchCount と、アプリが持っている接触リストの数(userData.ExposureInformation)が異なるためです。 public Command OnClickExposures => new Command(async () =>
{
var count = exposureNotificationService.GetExposureCount();
if (count > 0)
{
await NavigationService.NavigateAsync(nameof(ContactedNotifyPage));
return;
}
await NavigationService.NavigateAsync(nameof(NotContactPage));
return;
}); 解決策としては、OS での感知とずれが生じるので、
ができればいいのだけど、いまのところ無い。 |
書こうとしていたら稀さんから追記報告が…ここを考慮せずに下書きあげます。
私も稀さんの投稿を読み返しても「へ?」状態で、妙に思うところを先に列挙しますね。 コード的にはローカル通知が発生しない状態でも、現象はインストール時に権限拒否しなければローカル通知(プッシュ通知)が実装されています(7月10日までは)。そして運用開始の7月3日以降からずっとiOSはローカル通知(プッシュ通知)が実装されている端末はローカル通知がでています。 厚労省アイコンがついてるプッシュ通知はアプリからです。
この部分は、ローカル通知が実装された後のことになりませんか? プッシュ通知 NotificationCenter/Xamarin.ExposureNotification これがわからない(引っかかります)。 でも、AndroidとiOSではOSのメッセージの出し方が違います。 iOSはこれがまったくないんです。OSは通知(警告)を出しません。 アプリが通知(警告)をだしますが、必ずでません。アプリは文鎮化してリロードがかからないので通知を出すためのfalse判定が効かないので出せないんだと思ってます。false判定の記述がどこにあるのかわからないのですが、iOSは妙なタイミングで通知(警告)がでます。 EN機能が無効時の通知(警告)は、ver1.1.1ではでるタイミングは妙(通知窓が重なって見にくい、認識しにくい問題もある)でもでることはでていたのが、ver1.1.2からはまずでなくなりました。 私はこれも不思議で…ver1.1.3になるとさらにでません。いつどのタイミングで通知がでるのかと設定、アプリをいじるんですが、iOSはまずでません。 両OSの通知は「Xamarin.ExposureNotification 」1本に集約されている。 Androidは、matchCountがあったときのOSからプッシュ通知は復活しましたが、iOSはmatchCountがあってもOSはプッシュ通知をだしません。iOSのプッシュ通知有無はアプリのローカル通知実装の有無で左右されます。(この部分は追記によると、iOS13.7からは該当しないってこと?!) iOS13.7はEN機能(接触通知)常時オンが前提です。13.6にあったEN機能無効/有効スイッチがなくなりましたので。 ですが、EN機能が単に無効の時(Bluetoothがオフ、接触情報の共有がオフ)、iOS設定の「接触通知」「Bluetooth」にグレートーンがかかるようになっているだけで、AndroidのようにiOSが通知(警告)を出すことはないです。 |
どうやら、私達が「ローカル通知」だと思っていたものは、ローカル通知じゃないみたいなのです。 iOS の場合、ローカル通知の ON/OFF は「設定」→「通知」に出るようになっていて、これに COCOA がありません。カナダの COVID Alert はローカル通知を持ちます。 接触確認アプリ(COCOA)のほうにも「通知」がありません。 カナダ版の COVID Alart は「通知」があります。 コードのほうでは、NotificationCenter(Plugin.LocalNotificationというライブラリ)というのを使っていて Xamarin.ExposureNotification とは別の形で作られています。
ここで、v1.1.1 のときに NotificationCenter 関係のところが、あちこちコメントアウトされているので「ローカル通知はできない」のです。
なので、もともとアプリのほうにはローカル通知が実装されていないので、COCOA は「ローカル通知を有効にしますか?」 というのを聞いてきません。実装していないから。これはこれで正しい動作です。 で、あちこちで「ローカル通知っぽいもの」を出しているのは誰だ?ってことになるんですが、
と私も思っていたのですが、最近の v1.1.3 の通知を見る限り
この2つの通知のアイコンは、OS からの通知を示す太陽マーク?ではなくて、アプリの厚生労働省のマークになっていていますよね。あたかもローカル通知かのように... 通知のメッセージをどうやってアプリから持ってきているのか(あるいは事前に設定するのか?)は不明ですが、
通知関係は、Xamarin.ExposureNotification は絡んでいなくて、しかも COCOA からはローカル通知を出していないので、
ようです。 |
プッシュ通知が出るか出ないかはインストールバージョンに依存する事は有りませんか? 初期バージョンで正常にインストールした人は v1.1.1以降のバージョンでインストール(再インストールも含む)をした端末はプッシュ通知の権限を与えられていない。 iOS端末を使っている訳では無いので想像ですいません。 |
話がややこしくなる原因かココなんです。 Tweetもローカル通知が実装されている人かいない人かを見分けなきゃいけないんです。 |
COCOA v1.0.0からv1.1.1で大きく変わったのは、COCOAアプリ内から2つのスイッチ(Bluetoothのon/offと接触通知のon/off)がなくなったことです。 これはCOCOAアプリ内の設定で、COCOA設定のローカル通知(プッシュ通知)とは無縁なのに一緒くたに削除されてるコード記述になっている。(問題はここですね) COCOAをインストールすると権限許諾は 私はこれを“「COVID-19接触のログ記録」と「COVID-19接触通知」を有効にする”という意味だと思ってました。 「COVID-19接触のログ記録」と「COVID-19接触通知」はどちらもEN(Exposure Notification)を有効化する連動スイッチです。 でもコードを書いた人は コードを書いた人は、COCOAアプリに実装される「COVID-19接触通知」をローカル通知と同等とみなして、間違ったコード記述にしてる。 「COVID-19接触通知」はCOCOA設定の中に実装されますが、これは通知をだしません。EN機能のon/offスイッチにすぎません。 アプリのローカル通知設定とEN APIのiOS側通知設定(「COVID-19接触通知」「COVID-19接触のログ記録」とを混同してるので、後から読むこちらもわけわからなくなってるかと。 今のコード記述は、 問題になるのが7月11日。 それでiPhoneユーザーはローカル通知が実装されている人といない人の混合状態を生んでいる。 |
akizou さん
このアプリのバージョンは何になっていますか? |
誤解です。 v1.1.2のリリースが7月13日です。v1.1.1とv1.1.2は通知に関しては変更がないようですから「緊急でアプリのローカル通知を止めた」わけではないでしょう。 v1.0.0リリース直前にEN APIの仕様変更があったはず。私はドキュメントをみつけられないままですが、リリース時にHさんが直前に仕様変更があってもどうたらとTweetしていましたから(今は削除されているはず)。 ドキュメントは見つかりませんが、v1.1.1を見る限り仕様変更内容は「Bluetoothのon/off、接触通知(EN機能)のon/offは端末の設定でやる」というもの。 ”接触通知(EN機能)のon/offは端末の設定でやる”変更部分が、結果的にローカル通知の実装を阻害する記述になっている。 もしかしたら、Appleのサンプルコードが同じようになっているかもしれません。イタリアもバージニアもチャートリアルで権限拒否をやるとローカル通知を実装しないので。サンプルコード通りにしてあるから開発側はミスに気づいていないのでは?
コードを眺めるとバッサリ削除されているのて、アプリからのローカル通知は無効になるように思いますが、実際はでています。ローカル通知がないのは、COCOAアプリのローカル通知が実装されていない場合です。
Androidについては一時期とは言えます。Google開発サービスのバージョン更新ででなくなったりしましたので。 iOSの週報は、COCOAをインストールしていればiOS13.6更新後1週間後から出始めて、同時に通知に設定ができます。(設定→通知→COVID-19Exposure Notifications→)
現在はOSがEN Express対応バージョンになっただけで(APIも9月12日からEN2になったと思いますが)、日本はExpressではありません。
誤解です。 引用されている奥村先生とわさわささんは同列比較できない現象です。 |
1.1.3です。 |
ありがとうございます。
なるほど!最新版で通知が出るんですね。それは想定外でした。
というパターンですね。 |
どうやら、iOS でローカル通知が発生している(かもしれない)件は、解決できそうです。
こうすると、「設定」→「通知」→「接触確認アプリ」の項目がなくなります。 ~~~ これだとローカル通知のほうは確実に消えそうなのですが、中の接触データも消えるかどうかが謎ですよね。 |
私自身はまだアプリからの通知を見ていないので、ほんとに通知が出るのかは不明ですが、 設定App内の 各アプリの設定のところの、接触確認アプリの設定内容表示画面の中に
一度も cocoaの アンインストールは実施していません。 |
想像ですが、こんな感じだと思います。
v1.0.0 のときの「通知」の状態が引き継がれていて、 なっているのだと思います。 ちなみに照葉さんの
は、また違う現象っぽいので、これはやっぱり謎ですね。 |
このコメントはどうも認識が間違ってる様なので忘れてください。
|
akizoさんのようにv1.0.0をインストールしてアプリの更新を重ねている場合はこれですね。 2年前時点のInstagramは逆の現象がありました。 一度、COCOAの設定にNotificationCenter機能を持つと、アプリのアップデートでは変わらないです。 ここで私の認識ミスがあります(今頃、すみません)。 記憶ではv1.1.1でもノーマルにインストールしたらローカル通知が実装されたと思っていたのですが、散乱しているメモを整理したらノーマルにインストールしたときの記録がありません。 話をややこしくしたのは権限拒否とローカル通知の実装が連動していると思った私です(すみません)。 私は7月11日以降にインストールした端末はローカル通知を持ってないと思ってましたが、v1.1.1リリース6月30日以降にインストールした端末にはローカル通知はありません。ということになります。 v1.0.0では権限拒否をやるとアプリそのものが実装できない不具合がありました。 この現象はなんだったのか。 これは、権限拒否をやると接触通知(EN)の有効化スイッチ(COVID-19接触通知とCOVID-19接触のログ記録)がiOSに実装されなかったんです。 AndroidはOS(Google開発サービス)のバージョンアップが適応されると、端末内に接触通知(EN)のスイッチは実装されていました。COCOAのインストールとは関係なく接触通知スイッチそのものは持っていました。 一方、iOSはCOCOAのインストールなしに接触通知(EN)スイッチを実装することはできませんでした。 iOSは、アプリの設定項目を揃える(実装する)のと同時に、接触通知(EN)のスイッチをOSが実装する必要がありました。 https://twitter.com/HiromitsuTakagi/status/1273978372616450048?s=20 7月11日から「Exposure Notification機能は無効…」と返ってくるようになったのが謎なんですが、この部分は#4に関わることになります。 |
了解です。この認識が照葉さんとぴったりと合いました。よかったです。 なので、6/30 以降に通知がある場合、の厚生労働省アイコンで出てくる「ローカル通知っぽいもの」が不思議なのです。アプリのほうはローカル通知をしないのに。これは継続して調査です。
私も同感です。ローカル通知はそれなりにあったほうがいいと思います。 以前、カナダとドイツの issues に上がっていたのが、「OS の通知で出す接触者数」と「アプリの通知で出す接触者数」のずれでした。OS の場合は、簡単なサマリでしか計算していないので、OS 側では正確な接触者数は計算できません。最近の通知では「接触の可能性~」となっているので、数は表示されていないようです。 なので、OS と アプリの通知の境目としては、
のがよいかなと。 |
アプリにローカル通知は要るという点は一致してますが、稀さんの言う「iOSからの通知」というのが納得がいかないので考察。 iOSからの通知は現時点ではコレしかないです。
Android/iOS、共にこのような動作になると思います。
だけどアプリにはローカル(プッシュ)通知機能がない。 ここでAndroidとiOSで分かれる。 Androidはアプリが通知を出せないとき、OS(Google開発サービス)がプッシュ通知をだしている。ただしこの動作は一貫していない。 iOSはアプリが通知を出せないなら、でないです。 iOSでv1.0.0をインストールならローカル(プッシュ)通知が実装されています。これならローカル(ブッシュ)通知でます。 Androidはv1.0.0のインストール時に通知権限を持っていたかもしれないが、その後のアップデートでアプリの通知権限は消失してます。なのでAndroidは全ユーザーがローカル(プッシュ)通知がでません。 (謎なのはAndroidのプッシュ通知です。どのバージョン、端末、モジュール?、ビルド?ででているのかさっぱりわからない。) |
https://developers.google.com/android/exposure-notifications/exposure-notifications-api
ここには
This guide shows you how to use the Exposure Notifications API to build Android apps that notify users of possible exposure to confirmed COVID-19 cases.
と書いてあるのに、AndroidはなぜOSが通知を出しているのかは謎。
ZIPの配信が始まって間もなく7月6日にアプリのプッシュ通知がなかったのにアプリを見たら接触情報があった旨のTweetがあった。
「COCOAのプッシュ通知が機能してないのかアプリ立ち上げたら、、、、」
https://twitter.com/rocaz/status/1280067610369855493
(このTweetはAndroidから)
iOSはアプリが通知を出すのは確認されていたが、Androidは不明のまま。
8月初旬にAndroidはアプリではなくOSが通知を出しているのがやっと判明。
TweetにはOSの通知画像が添付されている。
https://twitter.com/ogi_ohashi/status/1289924497919754246?s=20
(このTweetはAndroidから)
これより前、Android版は7月19日に通知を受け取った人がでたが、アプリかOSかどちらの通知だったかは不明。
7月中、Androidはローカル通知の状況が不明のため接触情報を見落としていた人がいてもおかしくはないが、AndroidはそもそもZIPを受信していない端末が圧倒的だったはずなので、接触情報の見落としはなかっただろう…という希望的観測に。
Androidにインストールされた接触確認アプリCOCOAはローカル通知を持っているが、通知を出したことがないと思われる。
Androidの実装は本来どうあるものなのかが不明。
The text was updated successfully, but these errors were encountered: