0

所以,我正在学习学习android的教程,我有下面的代码,它在标题中给了我这个警告,并且应用程序由于某种原因无法运行有任何帮助吗?

这是代码:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.learn.tam.Splash"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.SPLASH" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.learn.tam.StartingPoint"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.STARTINGPOINT" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

显示错误的部分是 Second < 活动

4

1 回答 1

3

您正在宣传设备上的任何应用程序都可以启动com.example.learn.tam.StartingPoint,而 Lint 警告您这是不安全的。

最有可能的是,您不需要这些<intent-filter>——您通常只需要那些您希望其他应用程序启动的活动。因此,消除此警告的最简单方法是删除该警告并在您启动该活动时<intent-filter>使用显式(例如, )。Intentnew Intent(this, StartingPoint.class)

如果您选择保留<intent-filter>,无论出于何种原因,请:

  1. 不要android.intent.action.用作你自己发明的动作的前缀——想出别的东西,比如com.example.learn.tam.

  2. 添加android:exported="false"<activity>元素中表示,尽管您有一个<intent-filter>,但您并不期望其他应用程序启动您的活动

于 2013-02-24T22:38:25.990 回答