Ответ 1
android:name=".AboutUs"
Это имя вашего класса Activity, точка спереди - это сокращенная нотация для вашего пакета. Таким образом, это фактически означает com.your.package.name.AboutUs
, что означает, что ваш java файл, представляющий это действие, называется AboutUs.java
android:label="@string/app_name"
label - это строка, которая отображается в панели запуска (если активность указана в панели запуска) и в верхней части окна, когда активность открыта.
<intent-filter > ... </intent-filter>
фильтр намерения определяет намерения, которые ваша деятельность "слушает" для запуска.
<action android:name="com.example.app1.ABOUT" />
<category android:name="android.intent.category.DEFAULT"/>
Действие и категория - это оба поля, которые устанавливаются в Intent до того, как он "запущен" в систему. Затем система будет искать любые действия, которые соответствуют как действию, так и категории, и если он найдет его, то он запустит это действие или если он найдет несколько, он покажет пользователю все из них и позволит им выбрать.
В вашем случае ваше действие, которое вы слушаете com.example.app1.ABOUT
, является настраиваемым действием, специфичным для вашего приложения, а не одним из действий системы.
Итак, вот что намерение, которое начнет эту конкретную деятельность, может выглядеть так:
Intent i = new Intent();
i.setAction("com.example.app1.ABOUT");
i.addCategory("android.intent.category.DEFAULT");
startActivity(i);
Обратите внимание, что поскольку вы создали настраиваемое действие, это намерение не требует доступа к вашему AboutUs.class
, поэтому это намерение можно технически уволить из любого приложения на устройстве, и оно запустится в вашу деятельность.