问题标签 [android-implicit-intent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Action.SEND 从另一个应用程序接收到隐式意图时显示错误的活动
我有一个包含两个活动的应用程序: MainActivity,其中包含一个 URL 输入字段,用户可以在其中输入 YouTube 视频 URL 并按下提交按钮,以启动第二个活动 VideoActivity,它显示有关此视频的一些信息(从另一个网络服务器)。
该应用程序还具有通过 Youtube 应用程序接收意图的功能。当用户在 Youtube 应用程序中按下分享按钮时,我的应用程序会出现在分享列表中。在 Youtube 应用中按下分享后,MainActivity 应该被带到前面,并且 URL 应该发布在 MainActivity 的 URL 字段中。
但是,这仅在第一次共享时正确发生。如果当用户从 Youtube 应用程序共享时应用程序在后台,他们将被带到最后可见的活动,无论是 MainActivity 还是 VideoActivity,(即使是 MainActivity,URL 也不会发布到 URL 字段中,但该字段仍处于应用程序上次可见时所处的任何状态)。
这是我当前的 AndroidManifest.xml:
这是我的 MainActivity.java 代码:
我认为其他任何文件都不会有助于理解问题。尽管这似乎是许多应用程序创建者应该处理的问题,但我找不到这个问题的答案。如果您觉得我应该添加任何其他信息,请发表评论,并提前感谢您的帮助!
更新:测试表明,在第一次使用 YouTube 的“分享”后(并考虑到应用程序仍处于后台),MainActivity 不再收到任何关于进一步分享的新意图。但是,我的应用程序仍然以某种方式被带到了前台。这让我很困惑。
android - queryIntentActivities() 和 resolveActivity() 有什么区别。哪一种是了解现有应用程序的最佳方法?
正如我在 Android 文档中看到的那样,在将用户发送到另一个应用程序时尝试构建隐式意图。这是避免 ActivityNotFoundException 的两种方法。
第一 :
第二个 :
现在我的疑问是有什么区别,我应该使用哪一个?
android - 处理 Android 隐式活动崩溃
我以这种方式开始隐式活动:
如果此活动完成,我会收到广播,但如果活动崩溃,我什么也看不到,除非它毫无问题地返回第一个活动。
有没有办法知道第二个活动发生了什么?
android - Intent.setType() 对 android 的 Intent 选择器的影响
当使用 ACTION_SEND 将图像发送到其他应用程序时,使用 Intent.setType("image/*") 和 Intent.setType("image/jpeg") 是否会对 android 的意图选择器显示的应用程序列表产生影响。
理想情况下,我们希望将“png”和“jpeg”图像发送到其他应用程序,并且我们希望 Intent 选择器显示所有可以处理这些图像的应用程序。使用“image/*”的 mimeType 是否会使 Intent 选择器删除可以处理“png”和“jpeg”图像但不能处理其他图像格式的应用程序。
android - 向广播接收器发送隐式意图
我正在尝试创建 2 个应用程序。第一个应用程序通过使用 sendBroadcast 的隐式意图发送 imei。下面是第一个应用程序的代码。
}
我创建了另一个应用程序,其中包含一个接收 imei 的广播接收器。下面是application2的代码
我不知道为什么第二个应用程序没有收到任何东西,因为我对 Java 和一般编程完全不熟悉。
先感谢您
android - Android O中不调用具有签名权限的Android隐式BroadcastReceiver
BroadcastReceiver
在我的第一个应用程序中,我在清单文件中定义了一个自定义权限和一个隐式权限:
这是 TestBroadcastReceiver.java:
在我的第二个应用程序中,我在清单文件中添加了权限:
在这里,我发送广播:
但是在第一个应用程序中没有调用任何内容。我知道我们不能在 android O 及更高版本中使用隐式广播,但根据这里,需要签名权限的广播有一个例外:
需要签名权限的广播不受此限制,因为这些广播仅发送到使用相同证书签名的应用程序,而不是设备上的所有应用程序。
那么如何在 android O 中向我的其他应用发出信号呢?
android - 如何使用隐式意图但避免“选择一个应用程序来处理此意图”屏幕?
在我的代码中,我想触发一个隐式意图来打开另一个 android 库活动。
可以说很少有应用程序包含相同的库。如果我触发一个隐式意图,用户会看到“选择一个应用程序来处理这个意图”吗?
还是因为所有应用程序都包含相同的库,它才会打开?
android - Android (API 28) - 在后台接收隐式意图
我对当前的 Android 后台服务可能性感到非常困惑,需要专家的帮助 :)
“xDrip”应用程序通过动作名称“com.eveningoutpost.dexdrip.BgEstimate”的(我猜是隐式的)意图广播其信息。我想收到这些意图。由于不允许将它们放入清单中,因此我在应用程序类的 onCreate() 方法中动态注册了它们。只要应用程序正在运行(即使应用程序未在屏幕上打开),它就可以很好地工作。但是,如果我在应用程序概述中将其滑开,即使我没有取消注册意图,它也不会再收到意图。
我现在的问题是:始终可靠地接收这个(隐式)意图的最合适的方式是什么?那么当用户在应用程序概览屏幕中将应用程序滑开时呢?
干杯!
android - Android 隐式意图触发媒体播放器,但媒体播放器显示“意图无效”
我制作了一个应用程序,让用户可以选择一个 mp4 文件、一个日期和一个时间。设置后,应用程序将启动一个前台服务,该服务应在时机成熟时使用隐式意图播放媒体文件。
让用户选择媒体文件的代码:
对于在我的手机上运行 API 23 的示例,我从 logcat 得到
这表明 Uri 已成功接收。
现在从前台服务,我播放媒体文件。
再次来自 logcat,
在我的手机上,我看到了可以播放 mp4 文件的应用程序列表。我选择的是内置媒体播放器,可以正常播放mp4文件。现在我得到一个错误。
从日志猫,
谁能告诉我为什么意图无效?
更新1:
我尝试使用 VLC for Android 运行 API 27 的模拟器。Logcat 抛出一个不同的错误:
更新 2:
我刚刚在我的应用程序中发现了一个可怕的问题。我的应用程序的结构如下:
Activity1 --> 获取媒体 Uri,启动 Activity2
Activity2 --> 用户选择一个日期,启动 Activity3
Activity3 --> 用户选择时间,启动 MyService
MyService --> 在正确的时间使用意图播放媒体的前台服务
现在,在测试中,我发现如果Activity1直接启动MyService(我编程设置了日期和时间),媒体可以正常播放。
但是如果Activity1启动Activity2,而Activity2又直接启动MyService(我再次设置时间),媒体无法播放!!
请记住,我使用与调用 MyService 相同的意图标志调用 Activity2:
这不可避免地是@CommonsWare在此链接中指出的问题。我认为如果我以相同的意图标志开始活动,那么许可将保持有效。但事实并非如此!