发个广告:ios开发两年了,一步步走来 关注公众号一起进步
首先确定你是远程还是本地! 不要自己不知道自己在干啥!
远程--后台启动--走的代理
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
远程--后台启动--走的代理同上 判断状态
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
// 让SDK得到App目前的各种状态,以便让SDK做出对应当前场景的操作
if (application.applicationState ==UIApplicationStateActive)//正在操作状态
{
}
if(application.applicationState ==UIApplicationStateBackground)//暂没研究到
{
}
if(application.applicationState ==UIApplicationStateInactive)//后台运行
{
如果你需要跳转一个界面,,比如一个url网页可以这样来 效果不错
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:myUrl]];
}
}
远程--后台退出情况下,程序全部关闭--走的代理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个接口很厉害啊 程序每次启动的时候都是走的这个,,,,,,当我们点击icon进入的时候 是不会有参数的 ,但是当我们是收到远程通知点击事件进入的时候 会携带参数,launchOptions,这个时候重点来了,,,我们需要通过以下方法获得
if (launchOptions) {
//获取应用程序消息通知标记数(即小红圈中的数字)
NSInteger badge = [UIApplicationsharedApplication].applicationIconBadgeNumber;
if (badge>0)
{
//如果应用程序消息通知标记数(即小红圈中的数字)大于0,清除标记。
badge--;
//清除标记。清除小红圈中数字,小红圈中数字为0,小红圈才会消除。
[UIApplicationsharedApplication].applicationIconBadgeNumber = badge;
}
NSDictionary *userInfo = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
//获取推送详情
如果你需要跳转一个界面,,比如一个url网页可以这样来 效果不错
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:myUrl]];
}
本地的话 相信大家都会了 百度一大堆资料,,,