2011-10-20 4 views
0

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

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

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

Благодаря

Вот мой Manifest

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

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

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

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

Явный inte nt работал благодаря – Sean

Смежные вопросы