展会信息港展会大全

PendingIntent和Intent的区别
来源:互联网   发布日期:2016-01-14 09:34:28   浏览:1029次  

导读:An Intent is something that is used right now; a PendingIntent is something that may create an Intent in the future. You will use a PendingIntent with Notifications, AlarmManager, etc. Notification n = new Notification(R.drawable.face_1, S...

An Intent is something that is used right now; a PendingIntent is something that may create an Intent in the future. You will use a PendingIntent with Notifications, AlarmManager, etc.

Notification n = new Notification(R.drawable.face_1, "Service启动", System.currentTimeMillis());

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, TServiceHolder.class), 0);

n.setLatestEventInfo(this, "任务标题", "任务内容", contentIntent);

nManager.notify(NOTIFICATION_ID, n); // 任务栏启动

String msg ="你好,美女";

String number = "187****5477";

SmsManager sms = SmsManager.getDefault();

PendingIntent pi = PendingIntent.getBroadcast(SmsActivity.this,0,new Intent(...),0);

sms.sendTextMessage(number, null, msg, pi, null);//短信发送成功后要把intent广播出去

Toast.makeText(SmsActivity.this,"发送成功",Toast.LENGHT_LONG).show();

By giving a PendingIntent to another application, you are granting it the right to perform the operation you have specified as if the other application was yourself,就相当于PendingIntent代表了Intent

函数SmsManager.sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)中参数解释:

1)PendingIntent sentIntent:当短信发出时,成功的话sendIntent会把其内部的描述的intent广播出去,否则产生错误代码并通过android.app.PendingIntent.OnFinished进行回调,这个参数最好不为空,否则会存在资源浪费的潜在问题;

2)PendingIntent deliveryIntent:是当消息已经传递给收信人后所进行的PendingIntent广播。

查看PendingIntent 类可以看到许多的Send函数,就是PendingIntent在进行被赋予的相关的操作。

==============================================================================

Intent 表示一个目的,第一个参数表示所在类,第二个参数表示目标类

PendingIntent 即是一个Intent的描述

PendingIntent和Intent的区别:

PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情

换种说法Intent 字面意思是意图,即我们的目的,我们想要做的事情,在activity中,我们可以立即执行它

PendingIntent 相当于对intent执行了包装,我们不一定一定要马上执行它,我们将其包装后,传递给其他activity或application

这时,获取到PendingIntent的application 能够根据里面的intent 来得知发出者的意图,选择拦击或者继续传递或者执行

摘自 C'est la vie

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港