`
quanminchaoren
  • 浏览: 926878 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android PendingIntent和Intent

阅读更多
Java代码
  1. Notification n =  new  Notification(R.drawable.face_1,  "Service启动" , System.currentTimeMillis());  
  2. PendingIntent contentIntent = PendingIntent.getActivity(this 0 new  Intent( this , TServiceHolder. class ),  0 );  
  3. n.setLatestEventInfo(this "任务标题" "任务内容" , contentIntent);  
  4. nManager.notify(NOTIFICATION_ID, n); // 任务栏启动   
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); // 任务栏启动

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.

 

1. GSM网络中android发送短信示例

(1)代码节选

Java代码
  1. String msg = "你好,美女" ;  
  2. String number = "135****6784" ;  
  3. SmsManager sms = SmsManager.getDefault();  
  4.   
  5. PendingIntent pi = PendingIntent.getBroadcast(SmsActivity.this , 0 , new  Intent(...), 0 );  
  6. sms.sendTextMessage(number, null , msg, pi,  null );  
  7. Toast.makeText(SmsActivity.this , "发送成功" ,Toast.LENGHT_LONG).show();  
String msg ="你好,美女";
String number = "135****6784";
SmsManager sms = SmsManager.getDefault();

PendingIntent pi = PendingIntent.getBroadcast(SmsActivity.this,0,new Intent(...),0);
sms.sendTextMessage(number, null, msg, pi, null);
Toast.makeText(SmsActivity.this,"发送成功",Toast.LENGHT_LONG).show();

 (2)代码解释

      PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情 (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)。本例中别的程序就是发送短信的程序,短信发送成功后要把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在进行被赋予的相关的操作。

分享到:
评论

相关推荐

    Android 之 PendingIntent用法介绍

    当创建PendingIntent时,会根据提供的Intent和Flag来决定哪些应用可以触发这个Intent,以及如何触发。这种设计使得我们可以放心地将PendingIntent传递给第三方应用,如通知系统或闹钟服务。 PendingIntent的创建...

    安卓之 (解决问题)PendingIntent和Intent的区别1

    在Android开发中,Intent和PendingIntent是两个非常重要的概念,它们在组件间的通信中起到关键作用。Intent可以理解为一种消息传递对象,用于在不同组件之间传递行为和数据,而PendingIntent则是Intent的一种封装,...

    Android中pendingIntent与Intent的深入分析

    在Android开发中,Intent和PendingIntent是两个非常关键的概念,它们在应用程序的组件间通信中起着重要作用。Intent主要用于启动或传递数据给另一个组件,如Activity、Service或BroadcastReceiver,而PendingIntent...

    android 服务 Service PendingIntent 通知

    `PendingIntent`是Android中的一个关键类,它代表一个意图(Intent)的动作,可以在未来的某个时刻由系统或者其他应用触发。`PendingIntent`主要用于跨进程通信,例如在通知(Notification)中使用,当用户点击通知...

    Android中pendingIntent的深入理解

    1. **创建PendingIntent**: 应用通过Intent和Flags参数创建PendingIntent实例。 2. **传递给外部组件**: 将PendingIntent传递给其他应用或系统服务,如NotificationManager。 3. **外部组件请求执行**: 当外部组件...

    Android代码-Intent切换.zip

    Intent主要分为显式Intent和隐式Intent两种类型。显式Intent明确指定了要启动的目标组件,通常在同一应用内部使用。而隐式Intent则不指定具体组件,而是通过动作(Action)、数据(Data)、类别(Category)等元数据...

    Android Studio 实验二:Intent的使用

    Intent分为两种类型:显式Intent和隐式Intent。显式Intent用于启动特定的组件,如指定类名的Activity;而隐式Intent则是为了执行一个特定的动作,不指定具体的目标组件,而是通过Action、Data、Category等元数据来...

    Android中PendingIntent的简要介绍.pdf

    总之,PendingIntent是Android系统中一个强大的工具,它使得Intent的操作可以跨越时间和空间,为应用程序的交互和扩展提供了极大的便利。理解和熟练运用PendingIntent,对于开发高质量的Android应用至关重要。

    Android应用源码之Intent1_Intent.zip

    Intent1_Intent.zip中的源码应该包含了关于Intent的实例和使用方法,让我们一起深入探讨Intent在Android应用中的作用、类型、创建与传递、以及常见用法。 1. **Intent的作用** Intent的主要功能是启动一个活动...

    Notification的用法和PendingIntent使用

    Notification 和 PendingIntent 是 Android 中两种重要的机制,用于实现系统状态栏中的通知和指定操作的执行。在上面的代码中,我们学习了如何使用 Notification 和 PendingIntent 来实现一个简单的通知机制,并了解...

    Android编程实现PendingIntent控制多个闹钟的方法

    要用 android.app.PendingIntent.getBroadcast(Context context, int requestCode, Intent intent)来实现控制多个闹钟,关键点在于其中的一个参数requestCode. 举例说明如下: public void setClock(){ if(lva....

    PendingIntent

    综上所述,PendingIntent是Android开发中的一个重要工具,它允许开发者在不同组件之间安全地传递和延迟执行Intent操作,为应用的复杂交互提供了便利。理解并正确使用PendingIntent对于编写健壮、安全的Android应用至...

    PendingIntent 使用示例

    3. IntentFlag:在创建PendingIntent时,可以通过setFlags()方法设置Intent标志,比如FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT,它们会影响PendingIntent的行为,如替换已存在的Intent或取消当前PendingIntent并...

    AppWidget的getBroadcast

    在Android的`PendingIntent`类中,`getBroadcast`方法是用来创建一个PendingIntent,该Intent将在未来某个时刻由系统广播给指定的BroadcastReceiver。当我们在AppWidget中使用`getBroadcast`时,我们通常是希望在...

    Android Proximity Alert 手机接近进警告或提示功能一例.rar

    Android Proximity Alert 手机接近进警告或提示功能一例  LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);  //定义接近区域的大致经度、纬度  double longitude = 113.39; ...

    博客《详解PendingIntent》对应的有问题的PendingIntent源码

    相同的Intent和请求码会返回相同的`PendingIntent`实例,这有助于防止重复触发。 4. **保护机制**:`PendingIntent`提供了安全层,因为它只能被拥有相同签名的应用程序使用,或者如果设置了`FLAG_GRANT_WRITE_URI_...

    AndroidIntent切换.zip

    Intent分为显式Intent和隐式Intent。显式Intent通过指定目标组件的完整类名来明确指定要启动的Activity或服务,而隐式Intent则是通过设置Action、Data、Category等属性,让系统根据这些信息找到能够处理Intent的合适...

    mooc_android_lesson18_AlarmManager和PendingIntent实现定时提醒功能

    `AlarmManager`和`PendingIntent`是Android系统提供的两个关键组件,用于实现这样的定时提醒功能。下面将详细阐述这两个组件的工作原理及其结合使用的方式。 `AlarmManager`是Android系统中的一个服务,它允许应用...

    android开发范例大全第八章-与Intent接轨

    2. **Intent的类型**:Intent分为显式Intent和隐式Intent。显式Intent指定目标组件的类名,而隐式Intent只定义操作和数据,由系统根据Intent的过滤器来寻找合适的接收者。 3. **创建Intent**:通过`new Intent()`...

Global site tag (gtag.js) - Google Analytics