จะเปิดมุมมองการแจ้งเตือนเมื่อมีการแจ้งเตือนใน iOS ได้อย่างไร

ฉันได้สร้างแอปพลิเคชันตัวอย่างหนึ่งรายการซึ่งเริ่มการแจ้งเตือนในพื้นที่

เมื่อการแจ้งเตือนเริ่มทำงาน จะแสดงแบนเนอร์ในพื้นที่แจ้งเตือนในอุปกรณ์เสมอ ซึ่งฉันได้แสดงไว้ในรูปภาพแล้วป้อนคำอธิบายรูปภาพที่นี่

แต่ฉันต้องการการแจ้งเตือนมากกว่านี้ และต้องการดำเนินการตามตัวเลือกที่เลือกจากการแจ้งเตือนนั้น

รหัสสำหรับการแจ้งเตือนในพื้นที่มีดังต่อไปนี้

-(IBAction)setNotification:(id)sender{

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil)
{
    return;
}

localNotif.timeZone = [NSTimeZone defaultTimeZone];

// Get the year, month, day from the date
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSTimeZoneCalendarUnit|NSSecondCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:[NSDate date]];

// Set the second to be zero
components.minute = components.minute + 1;
components.second = 0;

// Create the date
NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:components];
NSLog(@"Fire Date :: %@",date);
localNotif.fireDate = date;

localNotif.alertBody = [NSString stringWithFormat:@"First Alarm"];


localNotif.alertAction =@"Ok";

localNotif.soundName=@"Alarm_1.mp3";

localNotif.applicationIconBadgeNumber = 1;


localNotif.alertAction = @"Application name";
localNotif.HasAction = true;

// Schedule the notification
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

}

ท่านใดมีช่วยบอกหน่อยนะครับ..มีผิดพลาดประการใด..

ขอบคุณล่วงหน้า.


person Jayeshkumar Sojitra    schedule 24.10.2013    source แหล่งที่มา
comment
รอก่อน คุณต้องการดำเนินการกับการแจ้งเตือนโดยนำเสนอมุมมองการแจ้งเตือนในหน้าจอหลักหรือไม่?   -  person Legolas    schedule 24.10.2013
comment
ใช่ ฉันต้องการดำเนินการ   -  person Jayeshkumar Sojitra    schedule 24.10.2013
comment
คุณต้องการให้การแจ้งเตือนดูเหมือน UIAlertView หรือไม่   -  person Legolas    schedule 24.10.2013
comment
ใช่ ฉันต้องการให้เป็นรูปภาพจาก URL ต่อไปนี้ developer.apple.com/library/ios/ เอกสาร/   -  person Jayeshkumar Sojitra    schedule 24.10.2013
comment
เป็นไปได้ไหมที่จะทำเช่นเดียวกันนี้?   -  person Jayeshkumar Sojitra    schedule 24.10.2013


คำตอบ (3)


นี่คือคำตอบที่รวดเร็วและสั้น คุณไม่สามารถทำอย่างนั้นได้ เอกสารประกอบของ Apple ระบุเฉพาะว่า didReceiveLocalNotification วิธีแสดงการแจ้งเตือนไม่ได้ขึ้นอยู่กับนักพัฒนาซอฟต์แวร์ ผู้ใช้จะเลือกวิธีที่เขาต้องการดูการแจ้งเตือนโดยใช้การตั้งค่า

ในกรณีของคุณ เพียงวางสายตรรกะโดยดำเนินการโทรกลับของผู้รับมอบสิทธิ์เมื่อผู้ใช้แตะที่การแจ้งเตือน

person Legolas    schedule 24.10.2013

เปลี่ยนประเภทการแจ้งเตือนในการตั้งค่า -> ศูนย์การแจ้งเตือน -> แอพของคุณ -> การแจ้งเตือน:

ป้อนคำอธิบายรูปภาพที่นี่

มีพื้นเพมาจาก Quinn "The Eskimo!" ตามที่ อ้างโดย IBG:

"นี่ขึ้นอยู่กับคุณหมายถึง คุณสามารถควบคุมวิธีที่การแจ้งเตือนปรากฏตามวิธีที่คุณตั้งค่าคุณสมบัติ UILocalNotification (เช่น alertBody, soundName และอื่น ๆ ) อย่างไรก็ตาม หากคุณถามเกี่ยวกับวิธีการที่คุณสมบัติเหล่านั้น ได้รับการตีความ (สิ่งที่ผู้ใช้สามารถปรับแต่งได้ในการตั้งค่า > การแจ้งเตือน) สิ่งเหล่านั้นเป็นการตั้งค่าของผู้ใช้ และไม่เปิดเผยผ่าน API ใดๆ"

person user1673099    schedule 24.10.2013
comment
ใช่ นี่เป็นวิธีหนึ่งที่จะทำได้ แต่ฉันไม่ต้องการมันด้วยตนเอง ฉันต้องการมันแบบเป็นโปรแกรม เพราะว่าเราต้องการให้เป็นค่าเริ่มต้นเมื่อเราติดตั้งแอปพลิเคชัน คุณรู้วิธีที่จะเอามันออกไปหรือไม่? - person Jayeshkumar Sojitra; 24.10.2013
comment
@JayeshSojitra คุณไม่สามารถทำโดยทางโปรแกรมได้ ดูคำตอบที่อัปเดตของฉัน - person user1673099; 24.10.2013

คุณสามารถรับการแจ้งเตือนได้ด้วยวิธีนี้:

  • (เป็นโมฆะ) แอปพลิเคชัน: (UIApplication *) แอปพลิเคชัน didReceiveRemoteNotification: (NSDictionary *) userInfo

เขียนโค้ดนี้เพื่อดึงข้อมูลจาก userInfo:

[[userInfo objectForKey:@"aps"] objectForKey:@"price"]];

ใช้ userInfo Dict เพื่อรับค่าการแจ้งเตือนและหลังจากนั้นคุณสามารถใช้ข้อมูลนั้นสำหรับการแจ้งเตือนได้

person Deep Gami    schedule 24.10.2013
comment
เป็นการแจ้งเตือนในพื้นที่ไม่ใช่การแจ้งเตือนระยะไกล - person Jayeshkumar Sojitra; 24.10.2013