應(yīng)用內(nèi)打開推送

效果展示.gif

一蘑拯、問題描述

程序啟動的時候會請求用戶是否打開推送钝满,如果打開則能收到推送的新聞內(nèi)容,相應(yīng)的功能按鈕也將打開申窘,如果沒有打開用戶可以在更多設(shè)置里去手動打開弯蚜,在我們的程序中并沒有通過打開和關(guān)閉按鈕去打開推送,而是讓用戶跳到系統(tǒng)的設(shè)置頁面去自己選擇是否打開剃法。

1>設(shè)置開關(guān)狀態(tài)值
// 設(shè)置開關(guān)狀態(tài)
 self.switchView.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"push"];
2>判斷是否打開推送
/**
* 判斷是否打開推送
*/
+ (BOOL)isAllowedNotification {
  // iOS8 check if user allow notification
  if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
    // system is iOS8
    UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];
    if (UIUserNotificationTypeNone != setting.types) {
      return YES;
    }
  } else {
    //iOS7
    UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
    if(UIRemoteNotificationTypeNone != type)
      return YES;
  }
  return NO;
}
3>跳轉(zhuǎn)到APP的系統(tǒng)設(shè)置界面
 // 跳轉(zhuǎn)到APP的系統(tǒng)設(shè)置界面
 if (switchView.isOn) {
      NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
      if([[UIApplication sharedApplication] canOpenURL:url]) {
        NSURL*url =[NSURL URLWithString:UIApplicationOpenSettingsURLString];     
 [[UIApplication sharedApplication] openURL:url];
      }
   }

二碎捺、解決思路

一開始對于這個功能一點也沒有具體的解決思路,而且一直在程序里去思考這個問題贷洲,當用戶跳到系統(tǒng)設(shè)置界面以后不管打開沒有打開再次進入到程序中時沒法知道是否打開也沒法更新數(shù)據(jù)收厨,之后突然想到當跳到系統(tǒng)設(shè)置界面的時候,程序已經(jīng)進入了后臺优构,自此有了我的解決方案诵叁。

1>當用戶跳轉(zhuǎn)到系統(tǒng)設(shè)置界面以后程序進入了后臺,而當再次進入時程序由后臺進入到前臺復(fù)原狀態(tài)钦椭,由此我們可以在applicationDidBecomeActive時發(fā)送一個通知拧额。
/**
 當程序進入后臺碑诉,再返回時注冊發(fā)送通知
*/
- (void)applicationDidBecomeActive:(UIApplication *)application
{
  // 發(fā)送通知
  [[NSNotificationCenter defaultCenter] postNotificationName:@"pushNoti" object:nil];
}

#######2>之后再需要更新數(shù)據(jù)的控制器里注冊通知,當收到通知時重新判斷是否打開了推送侥锦,然后更新數(shù)據(jù)进栽。

/**
* 在viewDidLoad里注冊通知
*/
- (void)viewDidLoad {
  [super viewDidLoad];
     // 是否打開通知使用NSUserDefaults存儲
  [[NSUserDefaults standardUserDefaults] setBool:[WEFileUtils isAllowedNotification] forKey:@"push"];
   // 注冊通知
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updataPush) name:@"pushNoti" object:nil];
}
/**
* 收到通知以后重新取值存儲然后更新數(shù)據(jù)
*/
- (void)updataPush{
  [[NSUserDefaults standardUserDefaults] setBool:[WEFileUtils isAllowedNotification] forKey:@"push"];
  [self.tableView reloadData];
}

三、結(jié)束語

自此應(yīng)用內(nèi)打開推送功能集成成功恭垦,當然目前新聞推送目前還沒有完美的方案去推送數(shù)據(jù)快毛,同時只是個人的一些思路和解決方案,寫的不足之處還望海涵署照,如果可以希望能夠提出一起討論交流祸泪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市建芙,隨后出現(xiàn)的幾起案子没隘,更是在濱河造成了極大的恐慌,老刑警劉巖禁荸,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件右蒲,死亡現(xiàn)場離奇詭異,居然都是意外死亡赶熟,警方通過查閱死者的電腦和手機瑰妄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來映砖,“玉大人间坐,你說我怎么就攤上這事∫赝耍” “怎么了竹宋?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長地技。 經(jīng)常有香客問我蜈七,道長,這世上最難降的妖魔是什么莫矗? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任飒硅,我火速辦了婚禮,結(jié)果婚禮上作谚,老公的妹妹穿的比我還像新娘三娩。我一直安慰自己,他們只是感情好妹懒,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布尽棕。 她就那樣靜靜地躺著,像睡著了一般彬伦。 火紅的嫁衣襯著肌膚如雪滔悉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天单绑,我揣著相機與錄音回官,去河邊找鬼。 笑死搂橙,一個胖子當著我的面吹牛歉提,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播区转,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苔巨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了废离?” 一聲冷哼從身側(cè)響起侄泽,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜻韭,沒想到半個月后悼尾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡肖方,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年闺魏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俯画。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡析桥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出艰垂,到底是詐尸還是另有隱情泡仗,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布材泄,位于F島的核電站沮焕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拉宗。R本人自食惡果不足惜峦树,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旦事。 院中可真熱鬧魁巩,春花似錦、人聲如沸姐浮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卖鲤。三九已至肾扰,卻和暖如春畴嘶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背集晚。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工窗悯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人偷拔。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓蒋院,卻偏偏與公主長得像,于是被迫代替她去往敵國和親莲绰。 傳聞我的和親對象是個殘疾皇子欺旧,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,156評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)蛤签,斷路器辞友,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 極光推送: 1.JPush當前版本是1.8.2窄陡,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐淑倾,SD...
    Isspace閱讀 6,719評論 10 16
  • 推送通知 注意:這里說的推送通知跟NSNotification有所區(qū)別 NSNotification是抽象的渡紫,不可...
    iOS開發(fā)攻城獅閱讀 4,225評論 1 13
  • 我在前面文章中說到铺坞,半年前我進入分答《房產(chǎn)財富精進指南》的社區(qū)學(xué)習(xí)敌呈,進而“毀三觀叭爱、豎新生”昆咽。 近期我既落地實操惜犀,又...
    李源鑫閱讀 272評論 0 0