Bagaimana cara membuka tampilan peringatan ketika notifikasi diaktifkan di iOS?

Saya telah membuat satu contoh aplikasi yang mengaktifkan notifikasi lokal.

Saat notifikasi diaktifkan, banner selalu muncul di area notifikasi di perangkat, seperti yang saya tunjukkan di gambar.masukkan deskripsi gambar di sini

Tapi saya ingin peringatan daripada ini dan ingin melakukan tindakan berdasarkan opsi yang dipilih dari peringatan itu.

Kode untuk mengaktifkan notifikasi lokal diberikan seperti di bawah ini.

-(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];

}

Adakah yang bisa tolong beri tahu saya jika ada kesalahan.

Terima kasih sebelumnya.


person Jayeshkumar Sojitra    schedule 24.10.2013    source sumber
comment
jadi tunggu. Anda ingin mengambil tindakan terhadap notifikasi dengan menampilkan tampilan peringatan di layar beranda?   -  person Legolas    schedule 24.10.2013
comment
Ya, saya ingin mengambil tindakan.   -  person Jayeshkumar Sojitra    schedule 24.10.2013
comment
Anda ingin notifikasi terlihat seperti UIAlertView?   -  person Legolas    schedule 24.10.2013
comment
Ya, saya menginginkannya sebagai gambar dari url berikut. developer.apple.com/library/ios/ dokumentasi/   -  person Jayeshkumar Sojitra    schedule 24.10.2013
comment
Apakah mungkin melakukan hal yang sama seperti ini?   -  person Jayeshkumar Sojitra    schedule 24.10.2013


Jawaban (3)


Inilah jawaban cepat dan singkatnya. Kamu tidak bisa melakukan itu. Dokumentasi Apple hanya menyatakan didReceiveLocalNotification. Cara menampilkan notifikasi tidak tergantung pada pengembangnya. Pengguna akan memilih bagaimana dia ingin melihat notifikasi menggunakan SETTINGS.

Dalam kasus Anda, cukup sambungkan logika dengan menerapkan panggilan balik delegasi saat pengguna mengetuk notifikasi.

person Legolas    schedule 24.10.2013

Ubah Jenis Pemberitahuan di Pengaturan -> Pusat Pemberitahuan -> Aplikasi Anda -> Peringatan:

masukkan deskripsi gambar di sini

Berasal dari Quinn "The Eskimo!", seperti dikutip oleh IBG:

"Ini tergantung maksud Anda. Anda memiliki kendali atas bagaimana notifikasi muncul berdasarkan cara Anda mengatur properti UILocalNotification (hal-hal seperti alertBody, soundName, dan sebagainya). Namun, jika Anda bertanya tentang cara properti tersebut ditafsirkan (hal-hal yang dapat disesuaikan pengguna di Pengaturan > Pemberitahuan), itu adalah preferensi pengguna dan tidak diekspos melalui API apa pun."

person user1673099    schedule 24.10.2013
comment
Ya, ini adalah salah satu cara untuk melakukannya tetapi saya tidak menginginkannya secara manual. Saya menginginkannya secara terprogram, karena kami menginginkannya secara default ketika kami menginstal aplikasi, apakah Anda tahu cara untuk keluar darinya? - person Jayeshkumar Sojitra; 24.10.2013
comment
@JayeshSojitra, Anda tidak dapat melakukannya secara terprogram. Lihat jawaban saya yang diperbarui. - person user1673099; 24.10.2013

Anda bisa mendapatkan notifikasi dengan metode ini:

  • (batal)aplikasi:(UIApplication *)aplikasi didReceiveRemoteNotification:(NSDictionary *)userInfo

tulis kode ini untuk mengambil data dari userInfo:

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

gunakan userInfo Dict untuk mendapatkan Nilai notifikasi dan setelah itu Anda dapat menggunakan data tersebut untuk Peringatan.

person Deep Gami    schedule 24.10.2013
comment
Ini adalah notifikasi lokal, bukan notifikasi jarak jauh. - person Jayeshkumar Sojitra; 24.10.2013