`
寻梦者
  • 浏览: 637479 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android中如何点击通知定位到指定的activity

 
阅读更多
private void initNotification() {
		mState = STATE_EXITED;
		mHungup = mContext.getResources().getString(R.string.hungup);
		mPlaying = mContext.getResources().getString(R.string.signalPrompt);
		if (null == mNM) {
			mNM = (NotificationManager) mContext
					.getSystemService(Context.NOTIFICATION_SERVICE);
		}

		if (null == mNotification) {
			mNotification = new Notification();
			mNotification.flags = Notification.FLAG_NO_CLEAR;
		}
		setRemoteActivity(LAUNCHER);
		setContentView();
	}



/*
	 * set the activity to go when click the item in the notification area.
	 */
	public void setRemoteActivity(String launcher) {
		ComponentName comp = new ComponentName(PKGNAME, PKGNAME + launcher);
		Intent notificationIntent = new Intent();
		notificationIntent.setComponent(comp);
		if (launcher.equals(LAUNCHER)) {
			notificationIntent.addCategory("android.intent.category.LAUNCHER");
			notificationIntent.setAction("android.intent.action.MAIN");
			notificationIntent.setFlags(0x10200000);
		} else {
			notificationIntent.putExtra(Define.INTENT_CHANNEL_POSITION,
					MBBMSService.sCurrentPlayPosition);
			notificationIntent.setAction(Action.ACTION_VIEW_PROGRAM_ACTION);
		}
		mNotification.contentIntent = PendingIntent.getActivity(mContext, 0,
				notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
	}

	private void setContentView() {
		mContentView = new RemoteViews(mContext.getPackageName(),
				R.layout.status_bar_signal);
		mContentView.setTextViewText(R.id.text, mPlaying);
		mContentView.setImageViewResource(R.id.icon, R.drawable.icon_tvplayer);
		mNotification.contentView = mContentView;
	}
 

   方法setRemoteActivity里面使得后台运行的应用显示到主界面上,同时使得最后一次运行的activity显示在activity堆栈的最上面

分享到:
评论

相关推荐

    Android推送遇到的问题--app关闭后,点击通知后点击通知后app未初始化的问题

    这个问题涉及到Android的生命周期管理、服务、广播接收器以及通知的点击处理等多个方面。 首先,我们需要理解Android应用的生命周期。当一个app被关闭,实际上它并没有完全退出,而是进入了后台运行状态。如果系统...

    android 通知栏跳转

    综上所述,"android 通知栏跳转"涉及到Android的通知系统、Intent、PendingIntent的使用,以及如何在目标Activity中处理点击事件,实现用户从通知栏直接进入相应的界面。通过理解并熟练掌握这些知识点,开发者可以...

    Android-EasyNotify用于轻松向用户发送Firebase通知的Android库

    4. **处理点击事件**:`EasyNotify`支持在通知被用户点击时执行特定操作,例如启动指定的Activity或执行其他逻辑。 5. **兼容性**:该库确保与多种Android版本和设备的兼容,减轻了开发者适配不同设备的工作负担。 6...

    android之intent&activity;生命周期

    在Android开发中,Activity和Intent是两个非常核心的概念,它们都与应用组件的生命周期紧密相关。本文将深入浅出地介绍如何定义多个Activity、Intent的数据结构及作用、以及Android中的backstack和Activity的生命...

    Android中文API合集

    《Android中文API合集》是Android开发者不可或缺的资源库,它包含了丰富的Android开发相关的中文文档,旨在...通过这个合集,开发者可以快速定位到需要的API,查找使用方法,解决开发过程中遇到的问题,提高开发效率。

    android观察者模式:EventBus实现GPS定位

    例如,我们可以在Activity中订阅`GpsLocationEvent`: ```java @Subscribe(threadMode = ThreadMode.MAIN) public void onGpsLocationChanged(GpsLocationEvent event) { Location location = event.getLocation()...

    android官方API文档中文查询完整版

    4. **Intent**:Intent是Android中的一种消息对象,用于启动Activity或Service,或者在它们之间传递数据。Intent分为显式Intent和隐式Intent,前者指定接收者,后者通过Action、Data、Category等匹配接收者。 5. **...

    帮助文档 中文 Android

    这份“帮助文档 中文 Android”将覆盖以上知识点,以及其他高级主题,如多线程、异步任务、通知、定位服务、蓝牙通信等。对于初学者,它将提供清晰的引导;对于有经验的开发者,它将作为参考手册,解答日常开发中的...

    service中定时定位经纬度信息

    在Activity中启动和停止Service,可以通过发送带有特定Action的Intent来实现。在Service中,可以通过`startForeground()`方法显示一个通知,告知用户Service正在运行,以满足Android系统的前台服务要求。 6. **...

    Android技术面试资料整理

    如果Activity位于任务栈底部,系统会将任务栈中的所有Activity弹出,然后将该Activity移动到栈顶。 - **singleInstance**:与`singleTask`类似,但该Activity总是位于一个独立的任务栈中。 #### 8. Intent启动方式...

    Android-program.rar_android

    在Android Studio中,你可以选择"Start a new Android Studio project"模板,然后指定项目名称、包名以及应用的基本配置。这个过程中,你会接触AndroidManifest.xml文件,它是每个Android应用的核心组件,记录了应用...

    Android Location在GPS中的应用

    在Android开发中,Location服务是获取用户位置信息的关键组件,特别是在GPS系统中。这篇讨论主要集中在如何在没有用户界面的情况下,通过Service实现GPS位置的后台监控。Service在Android应用程序中扮演着后台运行...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Android8.0适配前台定位服务service的示例代码

    在 Activity 中,需要创建一个 Intent 对象,指定服务的类名,例如 ForegroundLocationService.class,然后调用 bindService() 方法绑定服务。同时,需要实现 ServiceConnection 接口,重写 onServiceConnected() 和...

    用android studio写的一个备忘录

    - **搜索功能**:快速查找关键词,定位到相关的备忘。 - **同步与备份**:支持云同步,防止数据丢失,可以在不同设备上查看备忘。 **4. 开发流程** - **项目初始化**:使用Android Studio新建项目,选择应用的最小...

    有用的android笔记

    通过清单文件中的activity属性来控制Activity在Android的特定版本中显示。 19. 程序锁的实现: 涉及在后台监视当前启动程序的包名,并与数据库中的数据进行比较,若不在数据库中则弹出密码对话框。 20. Android...

    android跳转系统和自己的应用

    在Android开发中,应用间的跳转以及与系统功能的交互是一项基本且重要的技能。通过合理的使用Intent,开发者能够实现各种跨应用或系统级别的操作,极大地增强了应用的功能性和用户体验。以下是对给定文件中的示例...

    android面试题1

    - **Android:taskAffinity**: 定义了 Activity 所属的任务,如果值为空,则 Activity 会加入到启动它的 Activity 的任务中;如果指定了一个非空字符串,则 Activity 会被放到一个单独的任务中。 #### 3. 通过 ...

    Android控件大全以及各布局空间的使用方式

    十、Android通知(Notifications) 通知是Android中向用户展示应用状态的一种方式,即使应用不在前台运行,也能提醒用户。通过NotificationManager和Notification类可以创建和管理通知。 十一、Android数据存储 ...

    Android 学生签到系统源码

    这涉及到Android系统的定时任务管理和用户通知机制。 七、权限管理 根据Android权限模型,开发者需要在AndroidManifest.xml中声明所需权限,如访问网络、定位、读写存储等,并在运行时处理权限请求。 八、异常处理...

Global site tag (gtag.js) - Google Analytics