1

我有一个 NFC 活动,它指定了一个意图过滤器和数据。这就像

        <intent-filter>
            <action android:name="android.nfc.action..." />
            <category android:name="android.intent.category.DEFAULT" />

            <data
                android:host="..."
                android:path="..." />
        </intent-filter>

现在这里的问题是,因为我没有包括android:exported="false"。它使该活动容易受到来自外部应用程序的恶意攻击,因为该活动现在是公开的。这里的问题是,如果我将导出的属性设置为 false,我将无法获取从外部意图调用的活动(这应该通过 onNewIntent() 触发活动)

有没有办法让活动“安全”,同时不影响其一般触发机制,即通过外部意图?

4

1 回答 1

1

如果您需要收到有关标签的通知,则需要意图过滤器。标签调度器使用它来查找感兴趣的活动,以便在扫描标签时考虑。如您所见,如果您将活动设为私有,则无法通知它。您担心什么“恶意攻击”?您的活动与您编写的代码一样安全:如果您只处理 NFC 意图,您将是“安全的”(当然,除非 NFC 有效负载触发设备擦除代码或其他东西......)

于 2012-10-04T02:43:40.707 回答