Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义通知_Android - Fatal编程技术网

Android 自定义通知

Android 自定义通知,android,Android,我想知道是否有一种方法可以使用通知栏来执行某些操作(onClick),而无需启动/恢复活动 例如。。假设我发出一个通知,当用户按下它时,它不会带我去某个活动,而是调用我当前活动/服务中的某个常规方法 有没有办法实施这样的事情 例如,当前通知代码在单击时执行标准行为。开展一项活动。。如何更改代码以调用某个方法而不是某个活动 messagesManager = (NotificationManager) context.getSystemService

我想知道是否有一种方法可以使用通知栏来执行某些操作(onClick),而无需启动/恢复活动

例如。。假设我发出一个通知,当用户按下它时,它不会带我去某个活动,而是调用我当前活动/服务中的某个常规方法

有没有办法实施这样的事情

例如,当前通知代码在单击时执行标准行为。开展一项活动。。如何更改代码以调用某个方法而不是某个活动

        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()
仅在初始化服务时调用一次。