barriers / 阅读 / 详情

Intent的作用,哪些类型的数据可以被传递

2023-07-16 20:54:17
共1条回复
余辉

(1) 要激活一个新的Activity,或者让一个现有的Activity执行新的操作,可以通过调用Context.startActivity()或者Activity.startActivityForResult()方法。这两个方法需要传入的Intent参数也称为Activity Action Intent(活动行为意图),根据Intent对象对目标Activity描述的不同,来启动与之相匹配的Activity或传递信息。

(2) 要启动一个新的服务,或者向一个已有的服务传递新的指令,调用Context.startService()方法或调用Context.bindService()方法将调用此方法的上下文对象与Service绑定。

Intent一旦发出,Android都会准确找到相匹配的一个或多个Activity、Service或Broadcast-Receiver作为响应。所以,不同类型的Intent消息不会出现重叠:BroadcastIntent消息只会发送给BroadcastReceiver,而绝不可能发送给Activity或Service。由startActivity()传递的消息也只可能发送给Activity,由startService()传递的Intent只可能发送给Service。

相关推荐

Intent的基本用法是什么?有哪些主要属性

取消当前命令:Esc; 工具选项板:Enter; 选项板调整:Shift+Tab; 退出系统:Ctrl+Q; 获取帮助:F1; 剪切选择区:F2 / Ctrl+X; 拷贝选择区:F3 / Ctrl+C; 粘贴选择区:F4 / Ctrl+V; 显示或关闭画笔选项板:F5; 显示或关闭颜色选项板:F6; 显示或关闭图层选项板:F7; 显示或关闭信息选项板:F8; 显示或关闭动作选项板:F9; 显示或关闭选项板、状态栏和工具箱:Tab; 全选:Ctrl+A; 反选:Shift+Ctrl+I; 取消选择区:Ctrl+D; 选择区域移动:方向键; 将图层转换为选择区:Ctrl+单击工作图层; 选择区域以10个像素为单位移动:Shift+方向键; 复制选择区域:Alt+方向键; 填充为前景色:Alt+Delete; 填充为背景色:Ctrl+Delete; 调整色阶工具:Ctrl+L; 调整色彩平衡:Ctrl+B; 调节色调/饱和度:Ctrl+U; 自由变形:Ctrl+T; 增大笔头大小:“中括号”; 减小笔头大小:“中括号”; 选择最大笔头:Shift+“中括号”; 选择最小笔头:Shift+“中括号”; 重复使用滤镜:Ctrl+F; 移至上一图层:Ctrl+“中括号”; 排至下一图层:Ctrl+“中括号”; 移至最前图层:Shift+Ctrl+“中括号”; 移至最底图层:Shift+Ctrl+“中括号”; 激活上一图层:Alt+“中括号”; 激活下一图层:Alt+“中括号”; 合并可见图层:Shift+Ctrl+E; 放大视窗:Ctrl+“+”; 缩小视窗:Ctrl+“-”; 放大局部:Ctrl+空格键+鼠标单击; 缩小局部:Alt+空格键+鼠标单击; 翻屏查看:PageUp/PageDown; 显示或隐藏标尺:Ctrl+R; 显示或隐藏虚线:Ctrl+H; 显示或隐藏网格:Ctrl+”。 打开文件:Ctrl+O; 关闭文件:Ctrl+W; 文件存盘:Ctrl+S; 打印文件:Ctrl+P; 恢复到上一步:Ctrl+Z;
2023-07-16 19:38:172

Android中Intent的原理和作用是什么?可以传递哪些类型的参数?

【答案】:intent是连接Activity, Service, BroadcastReceiver, ContentProvider四大组件的信使,,可以传递八种基本数据类型以及string, Bundle类型,以及实现了Serializable或者Parcelable的类型。Intent可以划分成显式意图和隐式意图。显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
2023-07-16 19:38:251

Intent作用是什么?

【答案】:Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内容。对于一个 Intent 对象,消息“目的地”是必须的,而内容则是可选项。通过Intent 可以实现各种系统组件的调用与激活.
2023-07-16 19:38:331

Intent注意事项之数据传递

Intent是安卓开发里一个比较常用的对象,最简单的我们可以用它来开启一个activity或service,或者发送一个广播,在同一个进程应用里,Intent可以说是安卓四大组件之间沟通的桥梁。 对于这些熟悉的用法,这里不做赘述,这篇目的主要说下Intent的需要注意的一个地方,那就是对于Intent携带数据的问题。 我们都知道Intent可以携带数据,那么究竟可以携带哪些数据呢。 从图上可以看出,Intent可以传递基本的数据类型,以及实现了Serializable和Parcelable接口的数据。 Intent作为数据传输的载体,不止可以实现进程内通信,也可以实现进程间通信,进程间通信的最终都是通过二进制数据进行传输的,那么就要求所携带的数据是可以进行二进制读写的,这点可以参照AIDL的实现方式。 所以对应的数据类型,就只有上面列出的那些,八大基本数据类型以及实现了Serializable和Parcelable接口的数据。 肯定有限制,但不是以讹传讹的40k,我们可以做个试验,最简单的使用Intent在activity之间传递一个Bitmap。 具体的测试过程就不贴了,直接说结论:Intent对数据的大小是有限制的,超过了会报错,这个数据的大小限制在500kb左右,当然是比40k要大的多的,但是这也不能成为我们用Intent来传递大体积数据的理由,之前在项目中遇到过使用Intent来传递一个接口返回List对象,在测试环境未出现问题,切到线上环境才发现大量奔溃,究其原因是因为测试数据量并没有达到Intent的限制,但线上环境数据量则明显超过500k了,作为一个程序员来说,还是不可以心存侥幸,或者说这样的用法完全是应该禁止的。 这是一个很多人都遇到过的问题,解决办法也是各式各样,最简单的方式有用Application传递的,有用单例传递的,实现原理都差不多。下面贴出我自己的实现方式。 存储: 获取: 到这里关于Intent数据传递方面的就说的差不多了,希望能给大家在工作中或是面试的时候带来帮助。
2023-07-16 19:38:401

Intent两种启动方式

显示启动:在构造Intent对象就指定接受者,这种方式跟函数调用类似。 1、Intent intent = new Intent(IntentDemo.this,ActivityToStart.class); 2、startActivity(intent); 隐世启动:在构造Intent对象时,该不知道也不关心接受者。 1、Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com.hk")); 2、startActivity(intent);
2023-07-16 19:38:471

android中intent什么意思

意图和意图过滤器Intents and Intent Filters一个应用程序的三个核心组件-活动,服务和广播接收器是通过消息即意图(Intents)来激活的。Intent息传送是相同或不同应用中组件运行时晚绑定的一种机制。意图本身,一个意图对象,是一个包含被执行操作抽象描述的被动的数据结构-或者,对于广播而言,是某件已经发生并被声明的事情的描述。存在不同的机制来传送意图到每种组件中:u2022 一个意图对象是传递给Context.startActivity()或者Activity.startActivityForResult()来启动一个活动或者让一个存在的活动去做某些新的事情。u2022 一个意图对象是传递给Context.startService()来发起一个服务或者递交新的指令给运行中的服务。类似的,一个意图能被传递给Context.bindService() 来在调用组件和一个目标服务之间建立连接。作为一个可选项,它可以发起这个服务如果还没运行的话。u2022 传递给任意广播方法(例如Context.sendBroadcast(),Context.sendOrderedBroadcast(), 或者Context.sendStickyBroadcast())的意图对象被传递给所有感兴趣的广播接收者。许多种广播产生于系统代码。 在每个例子里,Android系统找到合适的活动,服务,或者一组广播接收者来回应这个意图,必要时实例化它们。这些消息传送系统没有重叠:广播意图仅被传递给广播接收者,永远不会给活动或者服务。一个传送给startActivity()的意图是只会被传递给一个活动,永远不会给一个服务或广播接收者,如此类推。这篇文档以意图对象的描述开始,然后描述Android映射意图到组件的规则-如何解决哪个组件应该接收一个意图消息。对于没有显式命名一个目标组件的意图,这个过程包括对照与潜在目标相关联的意图过滤器来测试这个意图对象。意图对象Intent Objects一个意图Intent对象是一堆信息。它包含接收这个意图的组件感兴趣的信息(例如将要采取的动作和操作的数据)再加上Android系统感兴趣的信息(例如应该处理这个意图的组件类别和如何启动一个目标活动的指令):组件名称Component name 应该处理这个意图的组件名字. 这个字段是一个ComponentName对象- 一个组合物:目标组件的完全合格的类名 (比如"com.example.project.app.FreneticActivity") 以及应用程序描述文件中设置的组件所在包的名字(比如, "com.example.project"). 这个组件名字的包部分和描述文件中设置的包名字不一定要匹配。 组件名字是可选的。如果被设置了,这个意图对象将被传递到指定的类。如果没有, Android使用另外的意图对象中的信息去定位一个合适的目标- 请看本文稍后描述的意图解析Intent Resolution。组件名字通过如下方法:setComponent(),setClass(), 或者setClassName()设置并通过getComponent()读取。
2023-07-16 19:38:563

intent是动词吗?如果是后面接不定式吗? 谢谢

n. 意图,含义adj. 专心的,热切的1.Cover the dagger with a smile;Murderous intent behind one"s smile. 笑里藏刀。 2.Last year, IDG signed letters of intent with China Publishing Group and CCTV. IDG去年5月和中国出版集团以及CCTV签署了合作意向书 3.To look with a sidelong glance, indicative especially of sexual desire or sly and malicious intent. 送秋波,抛媚眼投以一瞥,尤指表示性欲或狡猾而怀有恶意者。 4.While I was intent on improving my language, I met with an English grammar (I think it was greenwood"s). 正当我致力于提高语言水平的时候,我找到了一本英语语法书(可能是格林伍德写的)。 5.Everyone nodded agreement save Fee, who seemed intent on some private vision. 除了菲以外,每个人都点头表示同意,她看上去正沉湎于个人的梦幻里。
2023-07-16 19:39:592

android中intent的作用????

intent即意图一:用来启动其他新的Activity。二:作为传递数据和事件的桥梁。传递数据时的代码有两种:第一种是:Intent intent = new Intent(CurrentActivity.this , OtherActivity.class); intent.putExtra(“data” , somedata); 第二种是新建一个Bundle,再把该Bundle加入intent,如:Bundle bundle = new Bundle() ; bundle.putString(“data” , somedata) ; intent.putExtras(bundle)。
2023-07-16 19:40:074

Fortran 中intent表示什么意思

intent(IN) 表示这个参数是输入的 intent(OUT) 表示参数是输出的 intent(INOUT)表示这个参数同时用于两个方向的数据传递
2023-07-16 19:40:251

PendingIntent和Intent的区别

intent英文意思是意图,pending表示即将发生或来临的事情。  PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。  Intent是及时启动,intent随所在的activity消失而消失。  PendingIntent可以看作是对intent的包装,通常通过getActivity,getBroadcast,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行pendingintent时,调用intent的。正由于pendingintent中保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里的Intent,就算在执行时当前App已经不存在了,也能通过存在pendingintent里的Context照样执行Intent。另外还可以处理intent执行后的操作。常和alermanger和notificationmanager一起使用。  Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,而Pendingintent,一般用在Notification上,可以理解为延迟执行的intent,PendingIntent是对Intent一个包装。  PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情(BygivingaPendingIntenttoanotherapplication,youaregrantingittherighttoperformtheoperationyouhavespecifiedasiftheotherapplicationwasyourself,就相当于PendingIntent代表了Intent)。本例中别的程序就是发送短信的程序,短信发送成功后要把intent广播出去。  函数SmsManager.sendTextMessage(StringdestinationAddress,StringscAddress,Stringtext,PendingIntentsentIntent,PendingIntentdeliveryIntent)中参数解释:  1)PendingIntentsentIntent:当短信发出时,成功的话sendIntent会把其内部的描述的intent广播出去,否则产生错误代码并通过android.app.PendingIntent.OnFinished进行回调,这个参数最好不为空,否则会存在资源浪费的潜在问题;  2)PendingIntentdeliveryIntent:是当消息已经传递给收信人后所进行的PendingIntent广播。  查看PendingIntent类可以看到许多的Send函数,就是PendingIntent在进行被赋予的相关的操作。
2023-07-16 19:40:431

Intent附加额外信息需要设置隐Intent的哪种属性?

Intent的属性及intent-filter配置:1、Component属性:Intent的Component属性需要接受一个ComponentName对象,包含如下几个构造器,通过显示Intent启动一个Activity:当程序通过Intent的Component属性启动特定组件时,被启动组件几乎不需要用<intent-filter....>元素进行配置2、Action与Category属性与intent-filter配置Action与Category属性都是一个普通的字符串,其中Action表示Intent所要完成的一个抽象”动作“,而Category则用于为Action添加额外的附加类别信息。通常Action和Category结合使用。Action完成的只是一个抽象”动作“,这个动作具体由哪个组件来完成,Action这个字符串本身并不管。这取决于Activity的配置,只要有某个Activity配置文件符合,该Activity就可能被启动。如果有多个Activity都符合,则会弹出对话框供用户选择。Action和Category在Intent中的配置:注意:一个Intent对象只能有一个Action属性,但一个Intent可以有多个Category属性。且Cateory的默认值为intent.category.DEFAULT常量。Cateory的值可以不指定,就为默认值。在Activity的Manifest.xml文件中的配置:3、Data、Type属性与intent-filter配置Data属性通常用于向Action属性提供操作的数据。Data接受一个Uri对象,Uri对象的格式如下:Type属性用于指定该Data所指定Uri对应的MIME类型,这种MIME类型只要满足abd/xyz格式的字符串即可。Data与Type的关系:1)、如果Intent先设定Data的值,后设置Type的值,那么Type就会覆盖Data属性。2)、如果Intent先设定Type的值,后设置Data的值,那么Data就会覆盖Type属性。如果希望同时设定Data和Type的值,就应该调用Intent的setDataAndType()方法。在Intent中设置Data和Type属性:在配置文件中设置(都通过<data .../>设置):4、 Extra属性Extra属性通常用于在多个Action之间进行数据交换,Intent的Extra属性值应该是一个Bundle对象,它可以存入多个键值对,这样就可以在多个Activity之间进行数据交换了。5、Flag属性Intent的Flag属性用于为该Intent添加一些额外的控制旗标,可调用addFlags()方法来为Intent添加控件旗标。
2023-07-16 19:40:511

安卓studio intent怎么用?new intent()括号里的两个参数怎么填??

newIntent()构造函数接受两个参数,第一个参数为Context上下文,可以为application(全局上下文)、自定义Context、或者当前Activity,一般多为当前activity比如,从A页面活动跳转到B页面活动,代码如下(在A页面代码写入):Intent intent=new Intent(A.this,B.Class);startActivity(intent);目标activity一般可以为activity、service等
2023-07-16 19:40:591

intent在activity中能传递什么类型的值

在Android应用的开发中,如果我们需要在不同的模块(比如不同的Activity之间)之间传递数据,通常有以下两种方法:1. 利用Intent对象携带数据通过查询Intent/Bundle的API文档,我们可以获知,Intent/Bundle支持传递基本类型的数据和基本类型的数组数据,以及String/CharSequence类型的数据和String/CharSequence类型的数组数据。而对于其它类型的数据貌似无能为力,其实不然,我们可以在Intent/Bundle的API中看到Intent/Bundle还可以传递Parcelable(包裹化,邮包)和Serializable(序列化)类型的数据,以及它们的数组/列表数据。所以要让非基本类型和非String/CharSequence类型的数据通过Intent/Bundle来进行传输,我们就需要在数据类型中实现Parcelable接口或是Serializable接口。1.1 利用Parcelable接口实现数据通过Intent/Bundle进行传递/** * 代表一个人的信息 * @author gansc*/public class PersonInfo implements Parcelable{public String iName; // 人名publicint iSex; // 性别 public String iId; // 身份证号码 public String iMobileNumber; // 手机号码 public String iEMailAddr; // 邮箱地址// From Parcelable @Overridepublicint describeContents() {return0;} // From Parcelable// 保存到包裹中 @Overridepublicvoid writeToParcel(Parcel dest, int flags) { dest.writeString(iName); dest.writeInt(iSex); dest.writeString(iId); dest.writeString(iMobileNumber); dest.writeString(iEMailAddr); }// 实现Parcelable接口的类型中,必须有一个实现了Parcelable.Creator接口的静态常量成员字段,// 并且它的名字必须为CREATOR的publicstaticfinal Parcelable.Creator<PersonInfo> CREATOR =new Parcelable.Creator<PersonInfo>() {// From Parcelable.Creator @Overridepublic PersonInfo createFromParcel(Parcel in) { PersonInfo brief =new PersonInfo();// 从包裹中读出数据 brief.iName = in.readString(); brief.iSex = in.readInt(); brief.iId = in.readString(); brief.iMobileNumber = in.readString(); brief.iEMailAddr = in.readString();return brief; } // From Parcelable.Creator @Override public PersonInfo[] newArray(int size) { returnnew PersonInfo[size]; } };}
2023-07-16 19:41:061

如何将intent在自定义的adapter中传值

Intent intent=new Intent();intent.putExtra("extra", "值!");取值:Intent intent=getIntent();String StringE=intent.getStringExtra("extra");
2023-07-16 19:41:131

android 判断intent是否有值传入

多个Activity向一个Activity传递数据还真没听说过,不知道楼主是怎么实现的,但是如果一定要区别的话就加一个键值对作为标记来区分了,intent传递数据不就是用的键值对吗,你加一个标记就可以了
2023-07-16 19:41:212

如何自定义Intent.createChooser的显示结果

  Intent.createIntent函数第一个参数Intent的Activity。代码如下  Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{emailTo}); emailIntent.putExtra(Intent.EXTRA_CC, new String[]{emailCC}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); emailIntent.putExtra(Intent.EXTRA_TEXT, emailText); ArrayList<Uri> uris = new ArrayList<Uri>(); for (String file : filePaths) { File fileIn = new File(file); Uri u = Uri.fromFile(fileIn); uris.add(u); } emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); PackageManager pm = context.getPackageManager(); Intent sendMultipleIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); List<ResolveInfo> aList = pm.queryIntentActivities(sendMultipleIntent, PackageManager.MATCH_DEFAULT_ONLY); Intent mailIntent = new Intent(Intent.ACTION_SEND); mailIntent.setData(Uri.fromParts("mailto", "", null)); List<ResolveInfo> bList = pm.queryIntentActivities(mailIntent, PackageManager.MATCH_DEFAULT_ONLY); //TODO find out all target ResolbeInfo using aList and bList List<ResolveInfo> targets = ...; ArrayList<Intent> targetIntents = new ArrayList<Intent>(); for (ResolveInfo info : targets) { ActivityInfo ai = info.activityInfo; Intent intent = new Intent(emailIntent); intent.setPackageName(ai.packageName); intent.setClass(ai.packageName, ai.name); targetIntents.add(intent); } Intent chooser = Intent.createChooser(targetIntents.remove(0), "Send mail..."); chooser.putParcelableArrayListExtra(Intent.EXTRA_INITIAL_INTENTS, targetIntents); context.startActivity(chooser);  最终展现给用户的选择包括,符合createChooser第一个参数的应用(其实是指定了packageName和className的Intent),以及由EXTRA_INITIAL_INTENTS指定的应用。
2023-07-16 19:41:281

android,Intent intent = getIntent();// 获得Intent.写在onCreate()外面为啥就报错呢?

你应该先加载布局后才能获得相应的intent
2023-07-16 19:41:361

Intent intent=getIntent();什么意思

不要用getintentgetintent是用来获取前一个activity的的附加数据的比如oneactivity用intent启动twoactivty,并且用putextra方法加入了一些数据,在twoactivity就可以getintent,使用getextra获取额外数据
2023-07-16 19:41:563

有没有人知道intent selector是什么

在包android.content中,需要导入android.content.Intent Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,...
2023-07-16 19:42:031

android intent 能传递多少个parcelable

方法/步骤1序列化你要传输的对象:(省略了import,getter和setter) public class Book implements Parcelable { private String bookName; private String author; private int publishTime; // 定义一个构造器,你用它可以构造出一个实现了parcelable接口的对象,你需要做的事情 public Book createFromParcel(Parcel source)中填写通过parcel从内存中读取数据,这样就完成了对象的数据初始化 public static final Parcelable.Creator<Book> CREATOR = new Creator<Book>() { public Book createFromParcel(Parcel source) { Book mBook = new Book(); mBook.bookName = source.readString(); mBook.author = source.readString(); mBook.publishTime = source.readInt(); return mBook; } public Book[] newArray(int size) { return new Book[size]; } }; // 这个方法是进行描述序列化采用的数据格式,一般返回0即可 public int describeContents() { return 0; } // 在这里告诉parcel你要将对象的哪些数据写入到内存中. public void writeToParcel(Parcel parcel, int flags) { parcel.writeString(bookName); parcel.writeString(author); parcel.writeInt(publishTime); } } 2实现serializable的对象实现非常简单,只需要在你要传输的对象代码上加上implements Serializable即可:public class Book implements Serializable{ private String bookName; private String author; private int publishTime; }3有了实现了parcelable接口以及实现了serializable接口的对象,我们就可以调用intent.putExtra(string,pacelable)方法了. //Serializeable传递对象的方法 public void SerializeMethod(){ Person mPerson = new Person(); mPerson.setName("frankie"); mPerson.setAge(25); Intent mIntent = new Intent(this,IntentDemo1.class); Bundle mBundle = new Bundle(); mBundle.putSerializable(SER_KEY,mPerson); mIntent.putExtras(mBundle); startActivity(mIntent); } //Pacelable传递对象方法 public void PacelableMethod(){ Book mBook = new Book(); mBook.setBookName("Android Tutor"); mBook.setAuthor("Frankie"); mBook.setPublishTime(2010); Intent mIntent = new Intent(this,IntentDemo2.class); Bundle mBundle = new Bundle(); mBundle.putParcelable(PAR_KEY, mBook); mIntent.putExtras(mBundle); startActivity(mIntent); } 4测试结果:总结,通过上述方式成功实现了通过intent传输对象的操作.这种操作在对于选取联系人返回多选数据时是很有用的. 但是,通过intent对象,应该传输的仅仅是少量的数据,否则将会影响用户体验.
2023-07-16 19:42:112

关于Intent intent=new intent( ) ;

会工作的。两个完全不同的intent可以达到不同的activity,而且你可以这样 Intent intent=null;switch(item.getItemId){ case 1: intent=new Intent(MainActivity.this,jjj1.class); break; case 2: intent=new Intent(MainActivity.this,jjj1.class);/*两个intent跳转的类怎么是同一个?是不是打错了*/ break; } startActivity(intent); //创建一个intent对象,这样比较省资源,而且点击就发送一次intent,也相对简化了代码以上回答你满意么?
2023-07-16 19:42:191

android activity,intent,service是什么关系?

intent是activity和service的桥梁,通信员,activity主要操作显示界面,service在后台运行,适合长时间运行,如下载,听歌等。。
2023-07-16 19:42:251

fortran90中的intent(in)是什么意思?

O(∩_∩)O~INTENT属性哑实结合是在两个程序单元间传递数值的主要手段,主程序中实元2.0与过程中哑元X结合,就使X有值2.0,也即把主程序中2.0的值传递给子程序中的X,该值可供子程序运算。反之,如果子程序中的变量Y在子程序执行完后有值3.0,它与实元R结合后则使调用程序单元中的实元变量R得值3.0。在F77中,不能确切地说明哑元的目的。它们到底是用于把数据传入到过程中的,还是用于把数据传出到调用它的程序单元中的,或是两者兼而有之的,这个概念是含糊的。在F90中,为了避免当过程内部变量值变化后返回到引用的程序单元时可能造成的混淆情况,在过程的变量类型的定义中,可以对哑元指定意图说明的INTENT属性。哑元按数据传输特性可分为输入输出两用、仅用于输入和仅用于输出。其一般形式为:在类型定义语句中:类型,INTENT(意图说明符) :: 哑元名表或用INTENT语句 :INTENT(意图说明符) :: 哑元名表意图说明符为以下字符串:IN 指明哑元仅用于向过程提供数据,过程的执行期间哑元不能被重定义或成为未定义的,相联合的实元可以是常数、变量、数组以及它们的算术表达式。OUT 指明哑元用于把过程中的数据传回调用过程的程序,与之相结合的实元只允许是变量,不得为常数或算术表达式。INOUT 指明哑元既可以用于向过程提供数据,也可用于向调用程序返回数据,与之相结合的实元只允许是变量。INTENT属性不能在主程序说明语句中出现,只能在过程的哑元说明语句中使用。它是可选的,可省略。但现代特性的编程中应提倡使用INTENT属性,因为这样能增加可读性和可维护性,还能防止编程中的一些错误。因为一旦哑实结合,哑元和实元始终是同一个值,如果过程中给有属性INTENT(IN)的哑元重新赋值,也将改变调用程序单元中实元的值,而这是不应该的。这样,如在程序执行部分中误把有INTENT(IN)属性的哑元赋值时,操作系统就会提示。
2023-07-16 19:42:321

intent,absorbed,engrossed,involved区别。

...
2023-07-16 19:42:422

intent-filter是怎么用的

Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传Intent来执行动作和产生事件。使用Intent可以激活Android应用三种类型的核心组件:活动、服务和广播接收者。Intent可以划分成显式意图和隐式意图:显式意图:调用Intent.setComponent() Intent.setClassName()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了要激活的组件是哪个组件。隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。对于隐式意图,Android是怎样寻找到这个最合适的组件呢?我们在定义Activity时,指定了一个intent-filter,Intent Filter(意图过滤器)其实就是用来匹配隐式Intent的,当一个意图对象被一个意图过滤器进行匹配测试时,只有三个方面会被参考到:动作、数据(URI以及数据类型)和类别。动作测试(Action test)一个意图对象只能指定一个动作名称,而一个过滤器可能列举多个动作名称。如果意图对象或过滤器没有指定任何动作,结果将如下:如果过滤器没有指定任何动作,那么将阻塞所有的意图,因此所有的意图都会测试失败。没有意图能够通过这个过滤器。 另一方面,只要过滤器包含至少一个动作,一个没有指定动作的意图对象自动通过这个测试类别测试(Category test)对于一个能够通过类别匹配测试的意图,意图对象中的类别必须匹配过滤器中的类别。这个过滤器可以列举另外的类别,但它不能遗漏在这个意图中的任何类别。原则上一个没有类别的意图对象应该总能够通过匹配测试,而不管过滤器里有什么。大部分情况下这个是对的。但有一个例外,Android把所有传给startActivity()的隐式意图当作他们包含至少一个类别:"android.intent.category.DEFAULT" (CATEGORY_DEFAULT常量)。 因此,想要接收隐式意图的活动必须在它们的意图过滤器中包含"android.intent.category.DEFAULT"。(带"android.intent.action.MAIN"和"android.intent.category.LAUNCHER"设置的过滤器是例外)数据测试(Data test)当一个意图对象中的URI被用来和一个过滤器中的URI比较时,比较的是URI的各个组成部分。例如,如果过滤器仅指定了一个scheme,所有该scheme的URIs都能够和这个过滤器相匹配;如果过滤器指定了一个scheme、主机名但没有路经部分,所有具有相同scheme和主机名的URIs都可以和这个过滤器相匹配,而不管它们的路经;如果过滤器指定了一个scheme、主机名和路经,只有具有相同scheme、主机名和路经的URIs才可以和这个过滤器相匹配。当然,一个过滤器中的路径规格可以包含通配符,这样只需要部分匹配即可。数据测试同时比较意图对象和过滤器中指定的URI和数据类型。规则如下:a. 一个既不包含URI也不包含数据类型的意图对象仅在过滤器也同样没有指定任何URIs和数据类型的情况下才能通过测试。b. 一个包含URI但没有数据类型的意图对象仅在它的URI和一个同样没有指定数据类型的过滤器里的URI匹配时才能通过测试。这通常发生在类似于mailto:和tel:这样的URIs上:它们并不引用实际数据。c. 一个包含数据类型但不包含URI的意图对象仅在这个过滤器列举了同样的数据类型而且也没有指定一个URI的情况下才能通过测试。d. 一个同时包含URI和数据类型(或者可从URI推断出数据类型)的意图对象可以通过测试,如果它的类型和过滤器中列举的类型相匹配的话。如果它的URI和这个过滤器中的一个URI相匹配或者它有一个内容content:或者文件file: URI而且这个过滤器没有指定一个URI,那么它也能通过测试。换句话说,一个组件被假定为支持content:和file: 数据如果它的过滤器仅列举了一个数据类型。
2023-07-16 19:42:501

Fortran 中intent表示什么意思

under the awning
2023-07-16 19:42:573

Android 里的Intent是什么意思

意图的意思,非常抽象
2023-07-16 19:43:173

显示intent和隐示intent有什么区别

  android当中显式intent和隐式intent的区别  定义:  Intent定义:Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要发送端,还需要接收端。    显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。    隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。    说明:Android系统使用IntentFilter 来寻找与隐式Intent相关的对象。    详细解释:    显式Intent直接用组件的名称定义目标组件,这种方式很直接。但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式Intent更多用于在应用程序内部传递消息。比如在某应用程序内,一个Activity启动一个Service。    隐式Intent恰恰相反,它不会用组件名称定义需要激活的目标组件,它更广泛地用于在不同应用程序之间传递消息。    在显式Intent消息中,决定目标组件的唯一要素就是组件名称,因此,如果你的Intent中已经明确定义了目标组件的名称,那么你就完全不用再定义其他Intent内容。    而对于隐式Intent则不同,由于没有明确的目标组件名称,所以必须由Android系统帮助应用程序寻找与Intent请求意图最匹配的组件。    Android系统寻找与Intent请求意图最匹配的组件具体的选择方法 是:Android将Intent的请求内容和一个叫做IntentFilter的过滤器比较,IntentFilter中包含系统中所有可能的待选组件。    如果IntentFilter中某一组件匹配隐式Intent请求的内容,那么Android就选择该组件作为该隐式Intent的目标组件。    Android如何知道应用程序能够处理某种类型的Intent请求呢?这需要应用程序在Android-Manifest.xml中声明自己所含组件的过滤器(即可以匹配哪些Intent请求)。    一个没有声明Intent-Filter的组件只能响应指明自己名字的显式Intent请求,而无法响应隐式Intent请求。    而一个声明了IntentFilter的组件既可以响应显式Intent请求,也可以响应隐式Intent请求。在通过和 IntentFilter比较来解析隐式Intent请求时,Android将以下三个因素作为选择的参考标准。  Action  Data  Category  而Extra和Flag在解析收到Intent时是并不起作用的。  
2023-07-16 19:43:251

PendingIntent和Intent的区别

Intent 表示一个目的,第一个参数表示所在类,第二个参数表示目标类。 PendingIntent 即是一个Intent的描述。 PendingIntent和Intent的区别: PendingIntent就是一个Intent的描述,可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做安排做的事情 换种说法Intent 字面意思是意图,即我们的目的,我们想要做的事情,在activity中,可以立即执行它 PendingIntent 相当于对intent执行了包装,不一定一定要马上执行它,将其包装后,传递给其他activity或application 这时,获取到PendingIntent 的application 能够根据里面的intent 来得知发出者的意图,选择拦击或者继续传递或者执行。
2023-07-16 19:43:342

PendingIntent和Intent的区别

Intent表示一个目的,第一个参数表示所在类,第二个参数表示目标类。PendingIntent即是一个Intent的描述。PendingIntent和Intent的区别:PendingIntent就是一个Intent的描述,可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做安排做的事情换种说法Intent字面意思是意图,即我们的目的,我们想要做的事情,在activity中,可以立即执行它PendingIntent相当于对intent执行了包装,不一定一定要马上执行它,将其包装后,传递给其他activity或application这时,获取到PendingIntent的application能够根据里面的intent来得知发出者的意图,选择拦击或者继续传递或者执行。
2023-07-16 19:43:422

Intent的基本用法是什么?有哪些主要属性?(

哪里写着了?public Intent addFlags (int flags) Since: API Level 1 Add additional flags to the intent (or with existing flags value).Parametersflags The new flags to set. ReturnsReturns the same Intent object, for chaining multiple calls into a single statement.See AlsosetFlags(int)
2023-07-16 19:43:512

intent可以传递自定义类型数据吗

在Android应用的开发中,如果我们需要在不同的模块(比如不同的Activity之间)之间传递数据,通常有以下两种方法:1. 利用Intent对象携带数据通过查询Intent/Bundle的API文档,我们可以获知,Intent/Bundle支持传递基本类型的数据和基本类型的数组数据,以及String/CharSequence类型的数据和String/CharSequence类型的数组数据。而对于其它类型的数据貌似无能为力,其实不然,我们可以在Intent/Bundle的API中看到Intent/Bundle还可以传递Parcelable(包裹化,邮包)和Serializable(序列化)类型的数据,以及它们的数组/列表数据。所以要让非基本类型和非String/CharSequence类型的数据通过Intent/Bundle来进行传输,我们就需要在数据类型中实现Parcelable接口或是Serializable接口。1.1 利用Parcelable接口实现数据通过Intent/Bundle进行传递/** * 代表一个人的信息 * @author gansc*/public class PersonInfo implements Parcelable{public String iName; // 人名publicint iSex; // 性别 public String iId; // 身份证号码 public String iMobileNumber; // 手机号码 public String iEMailAddr; // 邮箱地址// From Parcelable @Overridepublicint describeContents() {return0;} // From Parcelable// 保存到包裹中 @Overridepublicvoid writeToParcel(Parcel dest, int flags) { dest.writeString(iName); dest.writeInt(iSex); dest.writeString(iId); dest.writeString(iMobileNumber); dest.writeString(iEMailAddr); }// 实现Parcelable接口的类型中,必须有一个实现了Parcelable.Creator接口的静态常量成员字段,// 并且它的名字必须为CREATOR的publicstaticfinal Parcelable.Creator<PersonInfo> CREATOR =new Parcelable.Creator<PersonInfo>() {// From Parcelable.Creator @Overridepublic PersonInfo createFromParcel(Parcel in) { PersonInfo brief =new PersonInfo();// 从包裹中读出数据 brief.iName = in.readString(); brief.iSex = in.readInt(); brief.iId = in.readString(); brief.iMobileNumber = in.readString(); brief.iEMailAddr = in.readString();return brief; } // From Parcelable.Creator @Override public PersonInfo[] newArray(int size) { returnnew PersonInfo[size]; } };}
2023-07-16 19:43:591

intent和contentprovider的区别

contentprovider是内容提供者,应用程序之间通讯。intent是4大组件之间通讯!
2023-07-16 19:44:071

android 怎么通过intent返回上个activity

两种方式:如A→B→C(从C直返回到A)跳转方式都为下面方法Intent intent = new Intent(A.this,B.class);startActivity(intent);1、A→B:跳转方法;A.this.finish();B→C:跳转方法;B.this.finish();C→A:跳转方法;C.this.finish();2、A→B:跳转方法;B→C:跳转方法;B.this.finish()C→A:C.this.finish()
2023-07-16 19:44:261

intent对象有哪几个元素?各有什么作用?

常见的有6个吧,如果我没记错的话1.ComponentName这是指定接收此intent的activity。2.Action这个是指定将要执行的动作3.Data这是数据的类型,有URI何MIME类型两种的。4.Category这个和第一条是对应的,是指定接收的component是什么类型的5.Extras这是额外的参数信息6.Flags这个是指示系统该怎么启动目标组件以及启动后怎么对待该组件
2023-07-16 19:44:341

Android中的显式Intent 和 隐式Intent 有什么区别?

显式Intent:即直接指定需要打开的Activity类,可以唯一确定一个Activity,意图特别明确,所以是显式的。设置这个类的zd方式可以是Class对象(如SecondActivity.class),也可以是包名加类名的字符串。应用程序内部Activity跳转版常用这个方式。隐式Intent:,隐式不明确指定启动哪个Activity,而是设置Action、Data、Category,让系统来筛选出合适的Activity。筛选是权根据所有的<intent-filter>来筛选。
2023-07-16 19:44:421

Intent.ACTION_VIEW作用?

不是名字,是给某个activity设定的执行动作,可以设置多个,也可以自定义,使系统能根据这些特征找到相应的activity
2023-07-16 19:44:593

Android 中Intent类存在于哪个包中,需要导入什么

api
2023-07-16 19:45:174

Intent传递数据时,可以传递哪些类型数据

在Android应用的开发中,如果我们需要在不同的模块(比如不同的Activity之间)之间传递数据,通常有以下两种方法:1. 利用Intent对象携带数据通过查询Intent/Bundle的API文档,我们可以获知,Intent/Bundle支持传递基本类型的数据和基本类型的数组数据,以及String/CharSequence类型的数据和String/CharSequence类型的数组数据。而对于其它类型的数据貌似无能为力,其实不然,我们可以在Intent/Bundle的API中看到Intent/Bundle还可以传递Parcelable(包裹化,邮包)和Serializable(序列化)类型的数据,以及它们的数组/列表数据。所以要让非基本类型和非String/CharSequence类型的数据通过Intent/Bundle来进行传输,我们就需要在数据类型中实现Parcelable接口或是Serializable接口。1.1 利用Parcelable接口实现数据通过Intent/Bundle进行传递/** * 代表一个人的信息 * @author gansc*/public class PersonInfo implements Parcelable{public String iName; // 人名publicint iSex; // 性别 public String iId; // 身份证号码 public String iMobileNumber; // 手机号码 public String iEMailAddr; // 邮箱地址// From Parcelable @Overridepublicint describeContents() {return0;} // From Parcelable// 保存到包裹中 @Overridepublicvoid writeToParcel(Parcel dest, int flags) { dest.writeString(iName); dest.writeInt(iSex); dest.writeString(iId); dest.writeString(iMobileNumber); dest.writeString(iEMailAddr); }// 实现Parcelable接口的类型中,必须有一个实现了Parcelable.Creator接口的静态常量成员字段,// 并且它的名字必须为CREATOR的publicstaticfinal Parcelable.Creator<PersonInfo> CREATOR =new Parcelable.Creator<PersonInfo>() {// From Parcelable.Creator @Overridepublic PersonInfo createFromParcel(Parcel in) { PersonInfo brief =new PersonInfo();// 从包裹中读出数据 brief.iName = in.readString(); brief.iSex = in.readInt(); brief.iId = in.readString(); brief.iMobileNumber = in.readString(); brief.iEMailAddr = in.readString();return brief; } // From Parcelable.Creator @Override public PersonInfo[] newArray(int size) { returnnew PersonInfo[size]; } };}
2023-07-16 19:45:251

如何利用Intent传递参数?

获取 intent.getStringExtra(name)放入 intent.putExtra();
2023-07-16 19:45:321

Intent intent=getIntent();什么意思

你从哪里看见的这"句子"啊?这是程式语言啊, 发错地方了啦。
2023-07-16 19:46:245

intent可以在线程中执行吗

一、其他应用发Intent,执行下列方法: I/@@@philn(12410): onCreate I/@@@philn(12410): onStart I/@@@philn(12410): onResume 发Intent的方法: Uri uri = Uri.parse("philn://blog.163.com"); Intent it = new Intent(Intent.ACTION_VIEW, uri...
2023-07-16 19:46:401

intent-filter是怎么用的

Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传Intent来执行动作和产生事件。使用Intent可以激活Android应用三种类型的核心组件:活动、服务和广播接收者。Intent可以划分成显式意图和隐式意图:显式意图:调用Intent.setComponent() Intent.setClassName()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了要激活的组件是哪个组件。隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。对于隐式意图,Android是怎样寻找到这个最合适的组件呢?我们在定义Activity时,指定了一个intent-filter,Intent Filter(意图过滤器)其实就是用来匹配隐式Intent的,当一个意图对象被一个意图过滤器进行匹配测试时,只有三个方面会被参考到:动作、数据(URI以及数据类型)和类别。动作测试(Action test)一个意图对象只能指定一个动作名称,而一个过滤器可能列举多个动作名称。如果意图对象或过滤器没有指定任何动作,结果将如下:如果过滤器没有指定任何动作,那么将阻塞所有的意图,因此所有的意图都会测试失败。没有意图能够通过这个过滤器。 另一方面,只要过滤器包含至少一个动作,一个没有指定动作的意图对象自动通过这个测试类别测试(Category test)对于一个能够通过类别匹配测试的意图,意图对象中的类别必须匹配过滤器中的类别。这个过滤器可以列举另外的类别,但它不能遗漏在这个意图中的任何类别。原则上一个没有类别的意图对象应该总能够通过匹配测试,而不管过滤器里有什么。大部分情况下这个是对的。但有一个例外,Android把所有传给startActivity()的隐式意图当作他们包含至少一个类别:"android.intent.category.DEFAULT" (CATEGORY_DEFAULT常量)。 因此,想要接收隐式意图的活动必须在它们的意图过滤器中包含"android.intent.category.DEFAULT"。(带"android.intent.action.MAIN"和"android.intent.category.LAUNCHER"设置的过滤器是例外)数据测试(Data test)当一个意图对象中的URI被用来和一个过滤器中的URI比较时,比较的是URI的各个组成部分。例如,如果过滤器仅指定了一个scheme,所有该scheme的URIs都能够和这个过滤器相匹配;如果过滤器指定了一个scheme、主机名但没有路经部分,所有具有相同scheme和主机名的URIs都可以和这个过滤器相匹配,而不管它们的路经;如果过滤器指定了一个scheme、主机名和路经,只有具有相同scheme、主机名和路经的URIs才可以和这个过滤器相匹配。当然,一个过滤器中的路径规格可以包含通配符,这样只需要部分匹配即可。
2023-07-16 19:46:471

intent to是什么意思?

intent这个单词的分析:n.[U] 1. 意图,目的[+to-v] The man was charged with intent to kill. 那人被指控蓄意谋杀罪。 2. 意思,含义 a. 1. 热切的,急切的 There was an intent look on the young mother"s face when she listened to her daughter reciting. 那位年轻妈妈在听女儿朗诵时脸上露出热切的神情。 2. 专心致志的;坚决要做的[F][(+on/upon)] He"s intent on his work. 他正专心于工作。 He was intent on going abroad for advanced studies. 他一心想出国深造。
2023-07-16 19:46:564

Android中Intent intent = new Intent(); intent.putExtra("str",string); sendBroadcast(intent);

比如你的Intent是发给你自己实现的A BroadcastReceiver的,那么他的onReceive(Context context, Intent intent)方法会得到调用,这里传进的intent就是你sendBroadcast发过来的,通过intent.getXXXExtra方法来检索对应类型的数据,比如你的intent.putExtra("key", "hello, world!");,intent.getStingExtra("key"),如果key对应的字符串没有找到则得到null;
2023-07-16 19:47:031

intent的以下哪个属性通常用于在多个action之间进行数据交换

Intent的属性及intent-filter配置:1、Component属性: Intent的Component属性需要接受一个ComponentName对象,包含如下几个构造器,通过显示Intent启动一个Activity:当程序通过Intent的Component属性启动特定组件时,被启动组件几乎不需要用<intent-filter....>元素进行配置2、Action与Category属性与intent-filter配置 Action与Category属性都是一个普通的字符串,其中Action表示Intent所要完成的一个抽象”动作“,而Category则用于为Action添加额外的附加类别信息。通常Action和Category结合使用。 Action完成的只是一个抽象”动作“,这个动作具体由哪个组件来完成,Action这个字符串本身并不管。这取决于Activity的配置,只要有某个Activity配置文件符合,该Activity就可能被启动。如果有多个Activity都符合,则会弹出对话框供用户选择。 Action和Category在Intent中的配置: 注意:一个Intent对象只能有一个Action属性,但一个Intent可以有多个Category属性。且Cateory的默认值为intent.category.DEFAULT常量。Cateory的值可以不指定,就为默认值。 在Activity的Manifest.xml文件中的配置:3、Data、Type属性与intent-filter配置 Data属性通常用于向Action属性提供操作的数据。Data接受一个Uri对象,Uri对象的格式如下: Type属性用于指定该Data所指定Uri对应的MIME类型,这种MIME类型只要满足abd/xyz格式的字符串即可。 Data与Type的关系:1)、如果Intent先设定Data的值,后设置Type的值,那么Type就会覆盖Data属性。2)、如果Intent先设定Type的值,后设置Data的值,那么Data就会覆盖Type属性。 如果希望同时设定Data和Type的值,就应该调用Intent的setDataAndType()方法。 在Intent中设置Data和Type属性:在配置文件中设置(都通过<data .../>设置):4、 Extra属性 Extra属性通常用于在多个Action之间进行数据交换,Intent的Extra属性值应该是一个Bundle对象,它可以存入多个键值对,这样就可以在多个Activity之间进行数据交换了。5、Flag属性 Intent的Flag属性用于为该Intent添加一些额外的控制旗标,可调用addFlags()方法来为Intent添加控件旗标。
2023-07-16 19:47:141

intent能传多个值吗?

能传2个值呀 你接收的时候去获取不同的值就行。 接收端的代码这样写:String temp1=this.getIntent().getExtra().getString("fltNr")String temp2=this.getIntent().getExtra().getString("Flt_Tail_Nbr")
2023-07-16 19:47:222

android 中如何使用intent通过传递变量传递数据

private static final String DATABASE_NAME = "test.db";private static final int DATABASE_VERSION = 1; public class DatabaseHelper extends SQLiteOpenHelper { public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }这样就可以了,参数先定义好就可以了啊。你可以再试试。我也是做android开发的,有问题可以和我交流,我的qq是379371398,希望采纳。
2023-07-16 19:47:292

求大神解答 Intent intent=getIntent() 是什么意思啊?

第一个首字母大写的,应该是你程序中自定义的某种数据类型(或者你所用编程语言中的特殊数据类型);第二个全小写字母的,是此处说明的一个变量,右边是一个函数。即:定义了一个名为intent的变量,其类型是Intent,其值初始化为函数getIntent()的返回值。
2023-07-16 19:47:481

安卓 怎么通过intent启动一个service 博客

第一步:首先创建一个广播接收者,重构其抽象方法onReceive(Contextcontext,Intentintent),在其中启动你想要启动的Service或app。importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;publicclassBootBroadcastReceiverextendsBroadcastReceiver{//重写onReceive方法@OverridepublicvoidonReceive(Contextcontext,Intentintent){//后边的XXX.class就是要启动的服务Intentservice=newIntent(context,XXXclass);context.startService(service);Log.v("TAG","开机自动服务自动启动.....");//启动应用,参数为需要自动启动的应用的包名...展开第一步:首先创建一个广播接收者,重构其抽象方法onReceive(Contextcontext,Intentintent),在其中启动你想要启动的Service或app。importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;publicclassBootBroadcastReceiverextendsBroadcastReceiver{//重写onReceive方法@OverridepublicvoidonReceive(Contextcontext,Intentintent){//后边的XXX.class就是要启动的服务Intentservice=newIntent(context,XXXclass);context.startService(service);Log.v("TAG","开机自动服务自动启动.....");//启动应用,参数为需要自动启动的应用的包名Intentintent=getPackageManager().getLaunchIntentForPackage(packageName);context.startActivity(intent);}}第二步:配置xml文件,在receiver接收这种添加intent-filter配置<receiverandroid:name="BootBroadcastReceiver"><intent-filter><actionandroid:name="android.intent.action.BOOT_COMPLETED"></action><categoryandroid:name="android.intent.category.LAUNCHER"/></intent-filter></receiver>第三步:添加权限<uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"/>收起
2023-07-16 19:48:031