Android:我应该使用什么类型的意图过滤器

Android:我应该使用什么类型的意图过滤器

问题描述:

在第二和第三个活动中,意向过滤器应该在类别中使用什么。在第二个活动中,我使用了默认值,但是在做出第三个活动之后,我不知道应该使用什么类别我用。 这是我尝试制作的第一个Android应用程序。请帮助我,我应该在第二和第三个活动中使用哪种类型的应用程序。Android:我应该使用什么类型的意图过滤器

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="csimplifyit.mobileapp.myschool"> 

<!-- To auto-complete the email text field in the login form with the user's emails --> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.READ_PROFILE" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 

<!-- for json call --> 
<uses-permission android:name="android.permission.INTERNET" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/login" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".login.Login" 
     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=".login.Menu" 
     android:label="@string/second_activity"> 
     <intent-filter> 
      <action android:name="csimplifyit.mobileapp.myschool.login.Menu" /> 

      <category android:name="android.intent.category.  " /> 
     </intent-filter> 
    </activity> 

    <activity 
     android:name=".login.Attendance" 
     android:label="@string/attendance_activity"> 
     <intent-filter> 
      <action android:name="csimplifyit.mobileapp.myschool.login.Attendance" /> 

      <category android:name="android.intent.category.  " /> 
     </intent-filter> 
    </activity> 

</application> 

+2

取决于你的需要......如果你是以'startActivity(new Intent(this,Menu.class))开始它的话''那么你可以忽略''并使用'' – Selvin

最有可能的,你完全删除第二和第三<intent-filter>元素。您希望其他应用连接的活动只有<intent-filter>元素。您不需要操作字符串来开始自己的活动 - 您可以使用显式的Intents(例如,new Intent(this, csimplifyit.mobileapp.myschool.login.Menu.class))。

如果由于某种原因,您希望其他开发人员直接启动您的MenuAttendance活动,那么最简单的方法也是将它们放入DEFAULT类别中。 startActivity()的呼叫会自动将DEFAULT类别添加到Intent,如果Intent未指定其他类别。

+0

Thanx ..使用明确的意图为我工作 – Rob

+0

我完成了我的问题。但我只想知道...我们可以使用DEFAULT两次第二个和第三个元素。或者我们必须为每个使用唯一的'category' – Rob

+0

@Rob:您绝对欢迎在几个''元素。 – CommonsWare