首页
学习
活动
专区
圈层
工具
发布

【Android基础】利用Intent在Activity之间传递数据

比如,你可以调用系统相机在你的应用中,拍了一张照片,然后返回到你的Activity,这个时候就可以通过这种方法把照片作为结果返回给你的Activity。...注意:在调用startActivityForResult()时你可以利用显示Intent或者隐式Intent,但是在你能够利用显式Intent的时候尽量利用显式Intent,这样能够保证返回的结果是你期待的正确结果...: 在被启动的Activity中你可以接收启动这个Activity的Intent,在生命周期范围内都能调用getIntent()来获取这个Intent,但是一般都是在onCreat和onStart函数中获取...")) { // Handle intents with text ... } } 设置返回Intent: 上面介绍了怎么在onActivityResult()中处理Intent...,但是怎么在你的应用中设置这个返回Intent呢?

2.1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Remote Views

    听名字就可以看出,remote views是一种远程view,感觉有点像远程service,其实remote views是view的一个结构,他可以在其他的进程中显示,由于它可以在其他的进程中显示,那么他就可以跨进程的更新其他进程的...Paracelable,通过Bindler传递到 systemService进程中。...mPackage和mLayoutId是在构造RemoteViews时传进去的[上文图中的seq#1]; mActions是设置各种Remote端的响应Intent以及图形元素的时候,保存到相应的Action...AppWidgetHost在AppWidget系统中是Local端;AppWidgetProvider端是Remote端。...我们可以将界面A中的remoteView 传递到界面B,界面B 获取对象,调用控件的apply方法更新界面 修改A界面的process属性,使其在不同的进程中运行。

    1.9K81

    探究RemoteViews的作用和原理

    从这段描述来看,我们感觉他和普通的View没有什么区别,只不过可以在远程进程中进行更新修改View。那么事实是不是这样呢?我们慢慢往下探究。...intent.putExtra("message", "只有在3天时间花完3亿,才可以继承30亿,加油吧骚年\n西红柿首富剧组通知你带薪入组\n时间:" + sdf.format(new Date())...正由于pendingintent中 保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里的 Intent, 就算在执行时当前...Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,而Pendingintent,一般用在 Notification上,可以理解为延迟执行的intent...RemoteView通过Binder传递到SystemService进程中,因为RemoteView实现了Parcelable接口所以是可以跨进程传输的。

    1.8K10

    RemoteView

    使用方法我就不介绍了,网上一大堆 1.PendingIntent概述 PendingIntent表示在将来的某个时刻发生,Intent是立即发生。...由此可见通知栏和桌面小部件是在NotificationManagerService和AppWidgetService被加载,然后运行在SystemServer中 首先RemoteViews通过Binder...传递到SystemServer中(实现了Parcelable接口,可以跨进程传输)。...(在SystemServer算一个普通的view,而在我们的进程中算RemoteViews)然后会有一系列set方法更新view,但不会立即执行,而是会保存下来,直到RemoteViews被加载以后再执行...理论上来讲,系统可以让binder直接支持所有操作,但是大量IPC操作会影响效率 由于RemoteViews是在远程进程中显示,所以无法用findviewbyid,通常用set方法,比如setTextViewText

    1.3K40

    Android-Widget重装上阵

    基本的使用方式,我们可以通过一套模板代码来实现,在Android Studio中,直接New Widget即可。...在Android12之后,描述文件中,还增加了targetCellWidth和targetCellHeight两个参数,他们可以直接指定Widget所占据的格子数,这样更加方便,但由于它仅支持Android12...配置表 这个配置文件的主要作用,就是在添加Widget时,展示一个简要的描述信息,所以,一个App中是可以存在多个描述xml文件的,而且有几个描述文件,添加时,就会展示几个Widget的缩略图,通常我们会创建几个不同尺寸的...以及AppWidgetService进行通信,所以,RemoteViews实际上是运行在SystemServer中的,我们在修改RemoteViews时,就需要进行跨进程通信了,而RemoteViews...有必要这么卷吗,Widget里面还要加动画。

    1.6K32

    面试官刁难:Java字符串可以引用传递吗?

    他当时扔了一个面试题把我砸懵了:Java 字符串可以引用传递吗?...不管怎么说,是时候写篇文章剖析一下字符串是否可以引用传递了。...change() 方法做的是无用功,因为 String 是值传递而不是引用传递。引用传递可以在被调用的方法中对实参进行修改,但值传递却不可以。为什么呢?...在 change() 方法中,形参 x 起先引用的也是“沉默王二”这个对象,当执行 x = "沉默王三" 的时候,会在内存中创建新的字符串“沉默王三”,然后形参 x 不再引用“沉默王二”这个对象了,改为引用...同样的,当我们在 append() 方法上进行 debug 的时候,也可以观察到字符串发生变化的细节。 ? 当 append() 方法执行结束后,此时形参 x 的字符内容为“沉默王三”。 ?

    64520

    Android中的通知和自定义通知布局

    Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。...由于各个版本的Android在通知方面都有一些改动,所以很难找到一个标准的创建及使用通知的方法,但是程序设计出来总归是给用户使用的,那么我们可以采用兼容性最好的那个API来创建通知:我们可以使用NotificationCompat...对象用于点击通知之后执行的操作, * PendingIntent可以理解为延时的Intent,在这里即为点击通知之后执行的Intent * 这里调用getActivity...* 别忘了在AndroidManifest配置文件中申请震动的权限 */ .setVibrate(new long[]{1000, 0, 1000})...言归正传,这个广播干什么用的呢:在自定义通知布局中我们要对两个按钮进行事件处理,在自定义通知布局中,我们必须使用RemoteViews的对象来对布局文件中的两个按钮进行事件处理,而 RemoteViews

    4.7K20

    Android开发笔记(五十二)通知推送Notification

    若调用该方法,则setNumber的设置将失效 setContentIntent : 设置内容的PendingIntent,在点击该通知时触发Intent动作 setDeleteIntent : 设置删除的...PendingIntent,在滑掉该通知时触发Intent动作 setAutoCancel : 设置该通知是否自动清除。...setSound : 设置通知推送时的声音 setVibrate : 设置通知推送时的震动方式 setOngoing : 设置该通知是否保持在下拉列表中。...调用该方法后,状态栏和下拉列表中的指定通知将消失 cancelAll : 取消所有通知 下面是NotificationManager的调用代码例子: NotificationManager...RemoteViews 远程视图RemoteViews与页面视图一样也是从layout下的布局文件中得到,二者之间的区别主要有: 1、远程视图主要用于桌面部件与通知栏部件,而页面视图用于APP页面

    3.5K20

    信息提醒之Notification,兼容全部SDK-更新中

    Notification是Android中很理想的提示方法,Notification可以在Android桌面上最上方的状态栏显示提示信息,还可以显示图像,甚至可以将控件加载到上面,而且只要用户不清空,这些信息可以永久的保留在状态栏...,也就是说,即使应用程序被关闭,Notification仍然会显示在状态栏中,当应用程序再此启动后,又可以重新控制这些Notification,如清除或者替换他们。...,可以利用被PendingIntent封装的intent。...Intent intent = new Intent(this,Main.class); //传递数据 intent.putExtra("msg","what r u doing ?")...这样在Activity中(一般在onCreate方法中)接收解即可 String msg = getIntent().getStringExtra("msg"); ......... ---- 永久存在的

    1.2K20

    在推荐系统中,我还有隐私吗?联邦学习:你可以有

    推荐系统在我们的日常生活中无处不在,它们非常有用,既可以节省时间,又可以帮助我们发现与我们的兴趣相关的东西。目前,推荐系统是消费领域最常见的机器学习算法之一[1]。...从另外一个角度分析,在推荐 / 搜索中引入隐私也有一定的好处。我们可以利用用户不共享的更好的元数据进行推荐系统的训练,例如手机上的应用程序信息、位置等。...我们还可以在较新的领域中(如医疗保健、金融服务)更好地采用机器学习模型,用户不再需要犹豫是否将数据共享给其他人。...同时,这种方法是可推广的,可以扩展到各种推荐系统应用场景中。FCF 的完整框架如图 1。在中央服务器上更新主模型 Y(item 因子矩阵),然后将其分发到各个客户端中。...在第四节中,我们进一步分析了一个普适的基于内容的联邦多视图推荐框架 FL-MV-DSSM。该方法可以将用户和 item 映射到共享的语义空间,以便进一步实现基于内容的推荐。

    7.7K41

    Android Notification

    通知一般通过NotificationManager服务发送一个Notification对象来完成通知,NotificationManager是一个重要的系统级服务,该对象位于应用程序的框架层中,应用程序可以通过它向系统发送全局的通知...在Activity中,可以使用Activity.getSystemService(String)方法获取NotificationManager对象,Activity.getSystemService(String...在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATION_SERVICE即可。...还可以选择全效果,震动+音效+呼吸灯 setDefaults(Notification.DEFAULT_ALL) 自定义音效 我写demo的这个音效来自腾讯,我有一次在港式餐厅里喝咖啡,正好旁边一个腾讯的工程师...(this, 100, intent, PendingIntent.FLAG_CANCEL_CURRENT); RemoteViews remoteViews = new RemoteViews("com.makeunion.notificationdemo

    1.9K20

    Golang中函数传参存在引用传递吗?

    Go中 slice 在传入函数时到底是不是引用传递?如果不是,在函数内为什么能修改其值?...值传递 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 概念总给人一种教科书的感觉,写点代码验证下。...在函数 pFoo 中,形参 p 的地址与实参 pa 的地址并不一样,但是他们在内存中的值都是变量 a 的地址,因此可以通过指针相关的操作来改变a的值。 ?...通过在 rFoo 函数中的打印信息,可以看到三者具有完全形同的地址,这是所谓的引用传递。...那么Go的引用传递源起何处?我觉得让大家误解的是,map、slice、channel这类引用类型在传递到函数内部,可以在函数内部对它的值进行修改而引起的误会。

    2.6K20

    【说站】python在函数中传递实参

    python在函数中传递实参 1、使用位置实参 若要使函数接受不同类型的实参,则必须将接受任意数量实参的形参放在函数定义的最后。...首先,Python匹配位置实参和关键词实参,然后将剩余的实参收集到最后一个形参中。 >>> def person(city, *args): ...     ...beijing', 'name', 'age', 'tel') city: beijing, other args: name age tel 2、使用关键字实参 有时需要接受任意数量的实际参数,但是不知道传递给函数的信息是什么样的...在这种情况下,可以将函数写成可以接受任意数量的键值对。一个例子是创建用户介绍:知道会收到关于用户的信息,但是你不确定会是什么样的信息。...) ... >>> person('beijing', 'name', 'age', 'tel') city: beijing, other args: name age tel 以上就是python在函数中传递实参的方法

    2.3K20
    领券