草庐IT

pendingintents

全部标签

Android笔记(十七):PendingIntent简介

PendingIntent翻译成中文为“待定意图”,这个翻译很好地表示了它的涵义。PendingIntent描述了封装Intent意图以及该意图要执行的目标操作。PendingIntent封装Intent的目标行为的执行是必须满足一定条件,只有条件满足,才会触发意图的目标操作。一.获取PendingIntent对象获取PendingIntent对象有以下几种方式:PendingIntent.getActivity(Context,int,Intent,int):启动活动PendingIntent.getActivities(Context,int,Intent[],int):启动多个活动,意图

android - java.lang.NoSuchMethodError : android. 应用程序.PendingIntent.getActivity

突然间,我开始收到很多崩溃报告,声称android.app.PendingIntent.getActivity方法不存在。有人知道是什么原因造成的吗?java.lang.NoSuchMethodError:android.app.PendingIntent.getActivityatcom.example.notification.NotificationHelper.showNotification(NotificationHelper.java:37)atcom.example.notification.NotificationHelper.showNotification(Not

android - 将标志添加到 PendingIntent

当我们将0作为标志传递给PendingIntent时,如下所示:PendingIntentpi=PendingIntent.getActivity(this,1,i,0);doesitfollowanyflagsrules表示0默认对应任何标志如果我们创建另一个PendingIntent作为PendingIntentpii=PendingIntent.getActivity(this,1,i,0);它会和之前一样吗?如果我对Intent中的数据进行任何更改,它现在会对应于Intent中的新数据还是仍然有旧数据。我面临的另一个问题是我正在尝试检查标志PendingIntent.FLAG_

android - AlarmManager 是否要求 PendingIntent 是 BroadcastReceiver 类型?

AlarmManager的文档似乎暗示(但并不完全明确要求)PendingIntent您传递给任何set()方法的类型应该是BroadcastReceiver,但我测试了传入其他组件类型(如IntentService),它似乎工作正常。使用非BroadcastReceiver是否安全?意向AlarmManager? 最佳答案 是的,它一直有效,但我怀疑不是您所想的那样。您可以将任何PendingIntent与警报一起使用;这确实可能是一项Activity或服务PendingIntent。如果它是一个服务PendingIntent,那

java - 如何通过 PendingIntent 将自定义可序列化对象传递给 BroadcastReceiver

我正在尝试使用PendingIntent将自定义序列化对象从我的IntentService传递到BroadcastReceiver。这是我的自定义对象:行.javapublicclassRowimplementsSerializable{privateStringname;privateStringaddress;publicRow(BluetoothDevicedevice){this.name=device.getName();this.address=device.getAddress();}}这是我的IntentServiceMyIntentService.javapublic

android - 我可以检测 Android 是否已从 Notification Intent/PendingIntent 中终止应用程序(任务进程)吗?

Android操作系统会在内存不足时终止进程。场景:Android终止了应用程序进程,我通过Android启动器或最近任务列表(长按主页按钮)重新打开它。我可以使用以下方法检查Android是否在最近查看的Activity的onCreate()方法中终止了我的应用进程:@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);if(savedInstanceState!=null){//Re-initialisethingsthatkillingtheappwo

android - WakefulBroadcastReceiver 没有收到来自 AlarmManager 的 PendingIntent

我正在努力开发一个必须以指定间隔重复任务的应用程序。我希望它在需要时唤醒设备。我不知道为什么,但是WakefulBroadcastReceiver永远不会执行其应通过AlarmManager触发的onReceive方法。问题仍然存在于普通的BroadcastReceiver。我使用的是Lollipop5.0.1Nexus5,时间间隔为5-20秒。代码如下:类mypackage.MainActivity[...]privatevoidstartRepeatingAlarm(){this.wbr=newSimpleWakefulBroadcastReceiver();this.regist

android - 如何将 PendingIntent 保存到 SQLite 数据库?

我获取NotificationListenerService拦截Notification并清除,然后想拦截保存到数据库的PendingIntent的Notification,但是PendingIntent没有序列化,所以想获取PendingIntend内部Intent然后使用intent.toUri()序列化保存到数据库的方法,但是这次出现了问题,当我在调用startActivity(intent)后去同步Intent时出现异常:Process:com.example.joee.cleardatademo,PID:20441java.lang.SecurityException:Per

android - 如何避免重复 PendingIntents

嗨!我在复制PendingIntents时遇到了麻烦。我的应用程序有从应用程序的onCreate开始的服务,执行一些异步任务并自行停止。问题是在每次应用程序启动时,我在AlarmManager中都有一组来自DB的新PendingIntents(完全相同),但它们不会取消以前的,即使使用FLAG_CANCEL_CURRENT。我通过“adbshelldumpsysalarm”确定这一点,这是异步任务的onPostExecute:protectedvoidonPostExecute(游标c){while(c.moveToNext()){int_id=c.getInt(c.getColumn

Android - PendingIntent.FLAG_CANCEL_CURRENT - 它真的取消了 alarmManager 之前未决的 Intent 吗?

我有以下代码,它只运行一个警报管理器:publicvoidrunAlarm(){Intentintent=newIntent(context,MyReceiver.class);intent.setAction(ACTION_TIMEOUT);PendingIntentalarmIntent=PendingIntent.getBroadcast(context,0,intent,PendingIntent.FLAG_CANCEL_CURRENT);setTimeOutAlarm(TIMEOUT_MINUTES,alarmIntent);AlarmManageralarmMgr=(Ala