2011-12-16 15 views
0

我在兩個包的兩個不同的活動如下:無法開始從不同的封裝活性的Android]

  1. com.my.application.MyActivity1
  2. com.my.application.Test.MyActivity2

在我的清單文件我有
package="com.my.application"
和博特的活動是在同一個application標籤。

我從內.Test.MyActivity2使用開始MyActivity1:

Intent intent = new Intent(getApplicationContext(), MyActivity1.class); 
startActivity(intent); 

我獲得以下日誌貓日誌,同時啓動應用程序:

I/ActivityManager(1305): Starting: Intent { cmp=com.my.application/.MyActivity1 } from pid 2336 
D/dalvikvm(1886): GC_EXTERNAL_ALLOC freed 133K, 51% free 2687K/5447K, external 1527K/1559K, paused 56ms 
D/dalvikvm(1886): GC_EXTERNAL_ALLOC freed 12K, 51% free 2675K/5447K, external 9796K/11844K, paused 40ms 
D/AndroidRuntime(1886): Shutting down VM 
W/dalvikvm(1886): threadid=1: thread exiting with uncaught exception (group=0x2018d560) 
I/ActivityManager(1305): Process com.my.application (pid 2336) has died. 

調用startActivity功能我的應用程序段後/崩潰,我無法看到啓動/啓動MyActivity2。

所以不可能從android的不同包中啓動activity。

謝謝,
PP。

+0

不,這是可能的。甚至可以從第三方應用程序啓動活動。 – hovanessyan 2011-12-16 13:31:00

+0

你能提供你的Manifest文件嗎?似乎有一些問題與'MyActivtiy1`的路徑 – Jin35 2011-12-16 13:33:02

+0

對不起,但我不能提供我的清單文件對不起。 – User7723337 2011-12-16 13:38:28

回答

1

它可能:),你的發射是正確的,所以它必須被設置那是錯的。確切地說,你應該從activity1開始activity2爲什麼你問的問題清單就是我說的答案。您看到清單中提到的軟件包是您的主要活動應該駐留的地方。

-1

你可以嘗試這樣的: 把這個清單:

<activity android:name=".SecondActivity"> 
    <intent-filter> 
    <action android:name="applicationB.intent.action.Launch" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

然後調用這樣的:

Intent intent = new Intent("applicationB.intent.action.Launch"); 
startActivity(intent); 
0

這對一個包到另一個很簡單。使用此代碼做

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.setComponent(new ComponentName("another package name","another package's main activity")); 
    startActivity(intent); 
} 

它的工作對我罰款。

1

檢查清單

應該像下面

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.my.application" android:versionCode="1" 
    android:versionName="1.0"> 

    <application android:label="@string/app_name" 
     android:icon="@drawable/logo_android"> 
     <activity android:name=".MyActivity1" 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=".Test.MyActivity2" android:label="@string/app_name"> 
     </activity> 
    </application> 
</manifest> 

我這個這將幫助你。

1
Intent intent = new Intent(this,com.packagename.activityname); 

也在顯現,

<activity android:name=".packagename.Activityname" /> 

,而不是<activity android:name=".Activityname" />