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环境高级编程 学完以后 有啥用? 应用范围是啥?的主要内容,如果未能解决你的问题,请参考以下文章

unix高级环境编程看了能写项目吗

Unix环境高级编程书上的第一个例程如何运行(附代码)

Unix环境高级编程文件和目录

学unix有啥用

学习unix高级编程有啥作用?可以从事哪方面的工作?新手不了解越具体越好

学习SQL有啥用,具体用于啥方面?