2011-01-14 60 views
3

我有一個主要活動。從它,我打電話2其他子活動稱爲FacebookLogin和Twitterlogin。我正在使用AndroidManufest.xml下面的代碼:Android中的多個活動聲明

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.examples.Kikin" android:versionCode="1" 
android:versionName="1.0"> 
<!-- THIS IS THE BEGINNING OF SHARING LINKS FROM THE BROWSER --> 
<application android:icon="@drawable/kikinlogo" 
    android:label="@string/app_name" android:debuggable="true"> 
    <activity android:name=".Kikin" 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 android:label="@string/app_name"> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:mimeType="text/plain" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".FacebookLogin" android:label="@string/app_name"> 
     <intent-filter android:label="@string/app_name"> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     <!-- <data android:mimeType="image/png" /> --> 
     </intent-filter> 
    </activity> 
    <activity android:name=".TwitterLogin" android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW"></action> 
      <category android:name="android.intent.category.DEFAULT"></category> 
      <category android:name="android.intent.category.BROWSABLE"></category> 
      <data android:scheme="yourapp" android:host="twitt"></data> 
     </intent-filter> 
    </activity> 

</application> 
<uses-sdk android:minSdkVersion="8" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 

我這樣做對嗎? 我應該嵌套在主要的活動的FacebookLogin和TwitterLogin活動? 上述2個類在com.examples包中。 *在任何地方都是一樣的。

+0

我會讓你知道我所嘗試過的。我已經嘗試在主要活動中嵌套2個活動。我已經嘗試過,因爲它是上面給出的。我在Logcat中獲取運行時異常:你是否在AndroidManifest.xml中聲明瞭這個活動? – Brahadeesh 2011-01-14 20:53:34

+0

3種不同的活動是否使用相同的標籤?我改變了它並嘗試了。仍然得到相同的錯誤。 – Brahadeesh 2011-01-14 21:18:45

+0

你能發表部分嗎? – WorkerThread 2011-01-14 21:40:44

回答

1

有沒有這樣的事情作爲「subactvity」。僅僅因爲你從另一個活動中調用一個活動並不意味着它是一個「subactivity」。

您不能在清單中嵌套活動標籤,如果嘗試過,您可能會收到編譯錯誤。

0

您發佈的清單看起來很好。

但是,關於您對有關錯誤消息「您是否在AndroidManifest.xml中聲明瞭此活動?」的評論,您需要仔細檢查您嘗試啓動的Activity的包和類名,並確保它匹配您在清單中寫入的<activity android:name>

您需要的所有信息都應在錯誤消息中。

1

您FacebookLogin和TwitterLogin標籤似乎缺少一個「@」 - 他們改變到Android:標籤=「@字符串/ APP_NAME」

0

不嵌套活動的聲明,只是他們都爲元素在您的應用程序元素中:

<manifest ... 
    <application ... 
    <activity ... 
    </activity> 
    <activity ... 
    </activity> 
    <activity ... 
    </activity> 
    </application> 
</manifest> 

您在此處發佈的樣本(放在一邊)看起來不錯。

0

也許你已經測試過它,但只是嘗試用完整路徑聲明你的活動(儘管你已經在package標籤中聲明瞭它)。因此,而不是使用

<activity android:name=".TwitterLogin" /> 

使用

<activity android:name="com.examples.Kikin.TwitterLogin" /> 

有時問題,因爲引起。

我知道這是一個老線程,但我m having the same problem and in my case specifying full package name doesn噸幫助。你有沒有找到解決方案?我真的很想知道如何避免這個錯誤。