これはしばらくの間苦痛だったようです(SOとネットでかなりの調査を行いました)
一言で言えば、Androidのドキュメントには次のように記載されています。
- onReceive は、他のすべてのライフサイクル メソッドが呼び出される前に呼び出されます
- ウィジェットが削除されると onDeleted が呼び出されます
- onDisabled は、最後のウィジェットが削除されたときに呼び出されます
まあ、ウィジェットを削除するとき、onReceiveもその後のonDeletedも呼び出されていません。同様に、最後のウィジェットが削除されると、コードは onDisabled にも到達しません。
1. これは Android バージョン 1.5 以降の問題であり、現在も続いています。
Google の Android 開発者の皆さん、10 を超えるメジャー リリースを経てこれを修正しなかった理由は何ですか?
他のみんなに...
どんなに醜いかもしれませんが、これに対する回避策はありますか?
イライラした口調ですみません。