如何使用意图返回启动器页面?

时间:2011-10-20 01:35:59

标签: android menu

我正在尝试使用意图返回上一个活动。

我遇到的问题是我的主页面,它是启动应用程序的页面,所以当我尝试将名称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 个答案:

答案 0 :(得分:1)

如果您想参加之前的活动,您可以完成当前活动。您将自动转到堆栈中的上一个活动,但如果您想要进行特定活动,可以使用以下内容。

为什么你没有使用明确的意图。

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"
    />