0

だから、私はアンドロイドを学ぶためにチュートリアルを行っています.タイトルにこの警告を出している次のコードがあり、アプリは何らかの理由で実行されませんか?

これはコードです:

<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 < activity

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 に答える