2011-01-14 4 views
3

나는 주 활동을하고 있습니다. 그로부터 FacebookLogin과 Twitterlogin이라는 다른 2 가지 하위 활동을 호출합니다. 나는 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 활동을 중첩해야합니까? 활동? 위의 두 클래스는 com.examples 패키지에 있습니다. . *은 어디에서나 사용되는 동일합니다.

+0

내가 무엇을 시도했는지 알려 드리겠습니다. 나는 주 활동에서 2 가지 활동을 중첩 시키려고 노력했다. 위에 주어진대로 노력했습니다. Logcat에서 런타임 예외가 발생했습니다. AndroidManifest.xml에서이 활동을 선언 했습니까? – Brahadeesh

+0

3 가지 다른 활동에 동일한 라벨을 사용하고 있습니까? 나는 그것을 바꿔 시험해 보았다. 여전히 같은 오류가 발생합니다. – Brahadeesh

+0

섹션을 게시 할 수 있습니까? – WorkerThread

답변

1

"부작용"같은 것은 없습니다. 하나의 활동을 다른 활동에서 불러 온다고해서 그것이 "하위 활동"이라는 것을 의미하지는 않습니다.

매니페스트에 활동 태그를 중첩 할 수 없으며 시도하면 컴파일 오류가 발생할 수 있습니다.

+0

오케이. 내가 첫번째 사람에게서 그 2 명을 부르고 있기 때문에 나는 subactivity를 말했다. 내 잘못된 의미에 대해 유감입니다. 문제점은 무엇이며 왜 작동하지 않습니까? – Brahadeesh

+0

문제의 원인을 어떻게 알 수 있습니까? – Falmarri

+0

나는 위에 게시 한 파일의 구문에 대해 묻는다. 그것이 옳은가, 아닌지, 내가 묻고있는 것입니다. – Brahadeesh

0

게시 한 매니페스트가 멋지게 보입니다.

"AndroidManifest.xml에서이 활동을 선언 했습니까?"라는 오류 메시지에 대한 의견과 관련하여 실행하려는 Activity의 패키지와 클래스 이름을 신중하게 확인하고 일치하는지 확인해야합니다 매니페스트에 작성한 <activity android:name>

필요한 모든 정보는 오류 메시지에 있어야합니다. 당신의 FacebookLogin 및 TwitterLogin에 대한

+0

이름이 같습니다. 그러나 Facebook.java 및 TwitterLogin.java 클래스는 com.examples 패키지에 포함되어 있습니다. *****. 클래스의 이름은 *****이어야합니다. – Brahadeesh

+0

귀하의 의견에 따르면 이름은 ** 동일하지 않습니다 **. 방금 당신이'Facebook.java' (완전한 클래스 이름이'com.examples.Kikin.Facebook'임을 암시 함)라고 말했지만 매니페스트는'.FacebookLogin'을 참조합니다. 그것을'.Facebook'으로 변경하십시오 (또는 클래스의 이름을'FacebookLogin'으로 바꾸십시오). –

+0

죄송합니다. 나는 FacebookLogin.java를 의미했습니다. – Brahadeesh

1

라벨은 '@'를 누락 된 것으로 표시 - 안드로이드에 변경 : 라벨 = "@ 문자열/APP_NAME를"

+0

좋은 지적. 나는 그것을 바꿨다. 여전히 Logcat에서 동일한 런타임 예외가 발생합니다. – Brahadeesh

+0

나는 닫는 태그도 포함한다고 생각하니? 예외 사본을 게시하십시오. –

+0

좋아요, 선들 사이에서 읽는다면 당신은 다음과 같은 클래스들을 가지고 있다고 생각합니다 : com.examples.FacebookLogin and com.examples.TwitterLogin and com.examples.Kikin -이 경우 루트 mainfest 요소의 패키지 속성을 package = "com.examples" –

0

하지 마십시오 둥지 활동 선언을, 단지 요소로 그들 모두가 귀하의 신청서 요소에 :

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

여기에 게시 한 (들여 쓰기) 샘플은 괜찮아 보입니다.

+0

들여 쓰기를 변경했습니다. 나는 지금 활동들을 중첩하지 않았다. 전술 한 오류가 여전히 발생합니다. 어떤 통찰력? – Brahadeesh

+0

이것은 바보 같이 들리지만 올바른 활동 이름입니까? android : name은 매니페스트 객체의 패키지 속성에 선언 된 패키지와 관련이 있으며 작성된 활동의 전체 이름이 올바른가요? – jjb

+0

세 클래스 모두 동일한 패키지에 있습니다. 그래서, 그들은 내가 추측 한 것 이상으로 쓰여져 있어야합니다. – Brahadeesh

0

아마도 이미 테스트를 마쳤으나 전체 경로로 액티비티를 선언 해보십시오 (이미 패키지 태그에 선언 했음에도 불구하고). 대신

<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님께 도움이됩니다. 이미 해결책을 찾았습니까? 나는이 오류를 피하는 방법을 아는 것에 정말로 관심이있다.