[解決済み] 特定のローカル通知を削除する
2023-02-24 05:29:27
質問
ローカル通知によるiPhoneアラームアプリを開発しています。
アラームを削除すると、関連するローカル通知がキャンセルされるはずです。しかし、ローカル通知の配列からどのオブジェクトがキャンセルされるかを正確に判断するにはどうしたらよいでしょうか。
私が知っているのは
[[UIApplication sharedApplication] cancelLocalNotification:notification]
メソッドは知っていますが、この「通知」をキャンセルさせるにはどうしたらいいでしょうか?
どのように解決するのですか?
ローカル通知のuserinfoにkeyのためのユニークな値を保存することができます。 すべてのローカル通知を取得し、配列を通してループし、特定の通知を削除します。
以下のようなコードです。
OBJ-Cです。
UIApplication *app = [UIApplication sharedApplication];
NSArray *eventArray = [app scheduledLocalNotifications];
for (int i=0; i<[eventArray count]; i++)
{
UILocalNotification* oneEvent = [eventArray objectAtIndex:i];
NSDictionary *userInfoCurrent = oneEvent.userInfo;
NSString *uid=[NSString stringWithFormat:@"%@",[userInfoCurrent valueForKey:@"uid"]];
if ([uid isEqualToString:uidtodelete])
{
//Cancelling local notification
[app cancelLocalNotification:oneEvent];
break;
}
}
SWIFTです。
var app:UIApplication = UIApplication.sharedApplication()
for oneEvent in app.scheduledLocalNotifications {
var notification = oneEvent as UILocalNotification
let userInfoCurrent = notification.userInfo! as [String:AnyObject]
let uid = userInfoCurrent["uid"]! as String
if uid == uidtodelete {
//Cancelling local notification
app.cancelLocalNotification(notification)
break;
}
}
UserNotificationです。
もしあなたが ユーザー通知 (iOS 10+)を使用している場合は、以下の手順に従ってください。
-
UserNotificationのコンテンツを作成する際に、ユニークな の識別子を追加します。
-
特定の保留中の通知を削除するには removePendingNotificationRequests(withIdentifiers:)を使って削除します。
-
特定の配信済み通知を削除するには removeDeliveredNotifications(withIdentifiers:)を使って削除します。
詳細はこちら UNUserNotificationCenter
関連
-
[解決済み】iOSアプリケーションでバックグラウンドの位置情報をn分ごとに更新するにはどうすればいいですか?
-
[解決済み] 角括弧 < > と引用符 " " を使って #import する。
-
[解決済み] iOSの合成されたプロパティの名前を、先頭のアンダースコアで変更するのはなぜですか?重複
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] Objective-C の boolean の書式設定文字列?
-
[解決済み] NSURLをローカルファイルのパスに変換する
-
[解決済み] Info.plistのCFBundleVersionのアップロードエラー
-
[解決済み] Xcodeでプリプロセッサ・シンボルを定義する方法
-
[解決済み] Objective-Cでの文字列比較
-
[解決済み] NSStringをstd::stringに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] switch文の中で変数を宣言する [重複]。
-
[解決済み] ベストプラクティス - 自分のプロジェクト/アプリのためのNSErrorドメインとコード
-
[解決済み] BOOLプロパティの使用
-
[解決済み] iOSアプリ:通知を消去するには?
-
[解決済み] UIButtonsの背景色を変更することはできますか?
-
[解決済み] AppDelegateからストーリーボード上の異なる場所で条件付きで開始する。
-
[解決済み] iOS 6 の補完ブロックの dispatch_get_current_queue() の代わりとなるものは?
-
[解決済み] MKMapViewのアノテーションをすべて削除する方法