UNIX环境高级编程 学完以后 有啥用? 应用范围是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIX环境高级编程 学完以后 有啥用? 应用范围是啥?相关的知识,希望对你有一定的参考价值。
参考技术A 现在学的都是linux了。学完linux你可以学嵌入式,偏硬件一点。学习软件的话,可以学安卓。本回答被提问者采纳Android环境中不同应用程序之间的显式意图有啥用?
【中文标题】Android环境中不同应用程序之间的显式意图有啥用?【英文标题】:What is the use for explicit intents between different applications in Android environment?Android环境中不同应用程序之间的显式意图有什么用? 【发布时间】:2014-12-18 15:45:04 【问题描述】:讨论 Android 安全性提出了一个问题,但我们找不到合理的答案(可能是幼稚的问题):
-
为什么 Android 应用程序在
没有意图过滤器和标签的清单
出口=真?
另一个应用程序如何发送显式意图
到上述声明的接收者?请给出一个代码示例,如果
可能的。
这意味着什么?
应用程序清单上的示例: 包 = “com.google.android.youtube” 应用程序:android:name="com.google.android.apps.youtube.app.YouTubeApplication" 接收方:android:name="com.google.android.apps.youtube.core.player.notification.ExternalPlaybackControllerV14$RemoteControlIntentReceiver" android:exported="true"
【问题讨论】:
【参考方案1】:对您给出的示例的解释非常简单。您给出的示例是针对 BroadcastReceiver
组件的。该组件具有android:exported="true"
,因此可以从应用程序外部的其他组件调用它。这种用法的一个很好的例子是AlarmManager
。如果应用程序要使用AlarmManager
设置警报,则AlarmManager
在警报响起时调用的组件必须是公开的。原因是AlarmManager
必须能够启动组件,即使您的应用程序没有运行。为此,必须在清单中声明该组件并且它必须是公开可用的(即:“android:exported="true")。
一般来说,只要您的应用程序创建显式 Intent
,然后将此 Intent
(使用 PendingIntent
)传递给您的应用程序外部的另一个组件,相关组件必须是公开可用的。
您要求提供代码示例。另一个应用程序可能会触发您在示例中给出的BroadcastReciever
组件,如下所示:
Intent intent = new Intent();
intent.setClassName("com.google.android.youtube",
"com.google.android.apps.youtube.core.player.notification.ExternalPlaybackControllerV14$RemoteControlIntentReceiver");
sendBroadcast(intent);
希望这能回答你所有的问题。
【讨论】:
以上是关于UNIX环境高级编程 学完以后 有啥用? 应用范围是啥?的主要内容,如果未能解决你的问题,请参考以下文章