Как вернуться на страницу запуска с намерениями? - PullRequest
0 голосов
/ 20 октября 2011

Я пытаюсь вернуться к предыдущему действию, используя намерения.

Проблема, с которой я столкнулся, связана с моей главной страницей, это страница, которая запускает приложение, поэтому, когда я пытаюсь ввести имя android.intent.action.MAIN в качестве намерения, он дает мне возможность открыть все приложения. .

Что мне сделать, чтобы это исправить? Как я могу переименовать название моей деятельности?

Спасибо

Вот мой манифест

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.AssaultAlarm.full" android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="5" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
     <uses-permission android:name="android.permission.READ_CONTACTS" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AssaultAlarmActivity"
            android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Info" android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar" android:label="@string/app_name">
            <intent-filter>
                <action android:name="com.AssaultAlarm.INFO" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name=".Settings" android:screenOrientation="portrait" android:permission="android.permission.READ_CONTACTS"
            android:theme="@android:style/Theme.NoTitleBar" android:label="@string/app_name">
            <intent-filter>
                <action android:name="com.AssaultAlarm.SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Вот как я хочу это назвать

Intent info = new Intent("AssaultAlarmActivity.class");
            startActivity(info);

1 Ответ

1 голос
/ 20 октября 2011

Если вы хотите перейти к предыдущему действию, вы можете просто завершить текущее действие.Вы автоматически перейдете к предыдущему действию в стеке, но если вы хотите выполнить определенное действие, вы можете использовать следующее.

Почему вы не используете явное намерение.

Intent info = new Intent(CallingActivity.this,AssaultAlarmActivity.class);
startActivity(info);

Если вы этого не сделаетеЕсли вы хотите использовать явное намерение, вы можете добавить новый фильтр намерений для своей деятельности

    <activity android:name=".AssaultAlarmActivity"
        android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="MyAction" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

и

Intent info = new Intent("MyAction");
            startActivity(info);

Если вы хотите переименовать свою деятельность, вы сделаете это следующим образом

    <activity-alias android:name="AlternateName"
        android:targetActivity=".AssaultAlarmActivity"
    />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...