Android 自定义通知
我想知道是否有一种方法可以使用通知栏来执行某些操作(onClick),而无需启动/恢复活动 例如。。假设我发出一个通知,当用户按下它时,它不会带我去某个活动,而是调用我当前活动/服务中的某个常规方法 有没有办法实施这样的事情 例如,当前通知代码在单击时执行标准行为。开展一项活动。。如何更改代码以调用某个方法而不是某个活动Android 自定义通知,android,Android,我想知道是否有一种方法可以使用通知栏来执行某些操作(onClick),而无需启动/恢复活动 例如。。假设我发出一个通知,当用户按下它时,它不会带我去某个活动,而是调用我当前活动/服务中的某个常规方法 有没有办法实施这样的事情 例如,当前通知代码在单击时执行标准行为。开展一项活动。。如何更改代码以调用某个方法而不是某个活动 messagesManager = (NotificationManager) context.getSystemService
messagesManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon, message,
System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
new Intent(context, someActivity.class), 0);
notification.setLatestEventInfo(context, "notification", message,
contentIntent);
messagesManager.notify(R.string.noto, notification);
我认为这是不可能的,或者至少是最佳实践。当通知仍在顶部栏中等待时,Android可能会终止您的活动。例如,你可能接到一个电话,但Android内存不足——它会扼杀你的活动,因此不再有“当前”活动 有没有办法实施这样一个计划 事情
使用适当的
pendingent
。不要调用getActivity()
,而是调用getService()
或getBroadcast()
getService或getBroadcast将如何帮助我调用常规方法?您能给我看一些这样一个未决意图的示例吗?在通过单击通知启动的广播接收器
或服务
(与活动
)中,您可以在那里“调用某个方法”。是的,但是我将如何调用方法(通过通知栏)在发出通知的同一次服务中?当从通知管理器调用getService时(从那里我可以导航到我的目标方法)“是的,但是我将如何在引发该通知的同一服务中调用方法(通过通知栏)”onStart()
在服务中或onReceive()中
在您的广播接收器中
检测由pendingent
发送的意图
,并调用所需的方法。@Moshik:因为每次调用startService()
时都会调用onStart()
<代码>onCreate()
仅在初始化服务时调用一次。