草庐IT

explicit-intent

全部标签

java - 如何将带有附加功能的 Intent 传递给已经运行的 Activity

我有一个BroadcastReceiver,它启动一个HomeActivity,其中包含一些与附加组件一起传递的信息。当Activity已经运行并且广播接收器再次被触发并尝试使用新信息启动HomeActivity时会发生什么。Activity的OnResume()或OnCreate()是否执行?如果没有,当BroadcastReceiver被触发时,是否还有其他方法可以传递/重新加载正在运行的Activity? 最佳答案 确保在从BroadcastReceiver启动Intent时设置FLAG_ACTIVITY_SINGLE_TOP

java - 如何将带有附加功能的 Intent 传递给已经运行的 Activity

我有一个BroadcastReceiver,它启动一个HomeActivity,其中包含一些与附加组件一起传递的信息。当Activity已经运行并且广播接收器再次被触发并尝试使用新信息启动HomeActivity时会发生什么。Activity的OnResume()或OnCreate()是否执行?如果没有,当BroadcastReceiver被触发时,是否还有其他方法可以传递/重新加载正在运行的Activity? 最佳答案 确保在从BroadcastReceiver启动Intent时设置FLAG_ACTIVITY_SINGLE_TOP

java - "array initializer needs an explicit target-type"- 为什么?

关注JEP286:Local-VariableTypeInference说明我想知道,引入这种限制的原因是什么,例如:Main.java:199:error:cannotinfertypeforlocalvariablekvark={1,2};^(arrayinitializerneedsanexplicittarget-type)所以对我来说逻辑上应该是:vark={1,2};//Infersint[]varl={1,2L,3};//Inferslong[]因为Java编译器可以正确推断出数组的类型:voiddecide(){arr(1,2,3);//callvoidarr(int.

java - "array initializer needs an explicit target-type"- 为什么?

关注JEP286:Local-VariableTypeInference说明我想知道,引入这种限制的原因是什么,例如:Main.java:199:error:cannotinfertypeforlocalvariablekvark={1,2};^(arrayinitializerneedsanexplicittarget-type)所以对我来说逻辑上应该是:vark={1,2};//Infersint[]varl={1,2L,3};//Inferslong[]因为Java编译器可以正确推断出数组的类型:voiddecide(){arr(1,2,3);//callvoidarr(int.

java - Intent.FLAG_ACTIVITY_CLEAR_TASK 的替代方案

我有两个应用App-B启动App-A。如果用户从AppA内部启动AppB,我会在App-A上调用完成,所以我没有问题。如果用户从应用程序抽屉或长按主页按钮直接进入应用程序B,那么我执行以下操作,在应用所有附加功能之前先清除应用程序A中的任务。这具有预期的效果,但仅适用于API11。在较低的API上,APP-A中的新任务不会改变,额外的putExtra将无效。FLAG_ACTIVITY_CLEAR_TASK的任何替代方案?对于APIIntenti=newIntent("com.App-A");i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);i.addF

java - Intent.FLAG_ACTIVITY_CLEAR_TASK 的替代方案

我有两个应用App-B启动App-A。如果用户从AppA内部启动AppB,我会在App-A上调用完成,所以我没有问题。如果用户从应用程序抽屉或长按主页按钮直接进入应用程序B,那么我执行以下操作,在应用所有附加功能之前先清除应用程序A中的任务。这具有预期的效果,但仅适用于API11。在较低的API上,APP-A中的新任务不会改变,额外的putExtra将无效。FLAG_ACTIVITY_CLEAR_TASK的任何替代方案?对于APIIntenti=newIntent("com.App-A");i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);i.addF

Android开发-Activity中“android:exported“属性的作用,以及“Permission Denial: starting Intent“错误解决

如何在一个应用程序中,启动另外一个应用程序?最近正有这样的需求,也踩了一个小坑。本节介绍使用Activity中"android:exported"属性来实现这种访问。Activity中"android:exported"属性说明:在程序清单AndroidMenifest.xml文件中,可以设置这个属性。Android中的Activity中"android:exported"属性设置为true,意味着允许让外部组件启动这个Activity;反之,则不允许让外部组件启动这个Activity;如果设置了false,又在外部试图启动这个Activity,则会发生程序崩溃,报异常,例如:java.lan

java - 如何判断 Android 中是否存在 Intent extras?

我有这段代码可以检查从我的应用程序的许多地方调用的Activity的Intent中的额外值:getIntent().getExtras().getBoolean("isNewItem")如果未设置isNewItem,我的代码会崩溃吗?在我调用它之前有什么方法可以判断它是否已设置?处理这个问题的正确方法是什么? 最佳答案 正如其他人所说,getIntent()和getExtras()都可能返回null。因此,您不想将调用链接在一起,否则您最终可能会调用null.getBoolean("isNewItem");这将抛出一个NullPoi

java - 如何判断 Android 中是否存在 Intent extras?

我有这段代码可以检查从我的应用程序的许多地方调用的Activity的Intent中的额外值:getIntent().getExtras().getBoolean("isNewItem")如果未设置isNewItem,我的代码会崩溃吗?在我调用它之前有什么方法可以判断它是否已设置?处理这个问题的正确方法是什么? 最佳答案 正如其他人所说,getIntent()和getExtras()都可能返回null。因此,您不想将调用链接在一起,否则您最终可能会调用null.getBoolean("isNewItem");这将抛出一个NullPoi

android - Intent 键命名约定

关于Intent操作命名约定的简单问题:我有一个处理Intent的新服务。它检查键com.foo.bar.ServiceName.MANAGER_NAME的Intent我有额外的参数我想传递,键应该是com.foo.bar.ServiceName.MANAGER_NAME.MANAGER_ARGUMENT还是只是com.foo.bar.ServiceName.MANAGER_ARGUMENT? 最佳答案 通常这些常量将直接在服务中声明,因此将像您的后一个选项一样命名--com.foo.bar.ServiceName.MANAGER_