• PendingIntent和Intent的区别


    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 来得知发出者的意图,选择拦击或者继续传递或者执行

  • 相关阅读:
    GridView编辑删除操作
    hdu 4857 逃生 拓扑排序+PQ,剥层分析
    每日回顾Shell —cat,tail,head
    uva:10700
    Unity多玩家网络游戏开发教程1章Unity带有网络功能
    android com.handmark.pulltorefresh 使用技巧
    Jsoup 抓取和数据页 认识HTTP头
    JDK8在Java转让Javascript脚本引擎动态地定义和运行代码
    2013-2014约半学期的学习和规划研究综述
    Javascript 设计模式 辛格尔顿
  • 原文地址:https://www.cnblogs.com/jqyp/p/2455704.html
Copyright © 2020-2023  润新知