1
我寫了兩個不同的應用程序,我們將其稱爲AppA和AppB。我正在嘗試使用意向從AppB開始AppA中的活動。我試圖用明確的意圖來實現這一點。使用顯式意圖在不同的應用程序中開始活動
在APPB,我創建這樣的意圖:
ComponentName cn = new ComponentName("com.example.user.appa",
"appaActivity");
Intent infoIntent = new Intent();
infoIntent.setComponent(cn);
infoIntent.setAction("com.example.DO_SOMETHING");
infoIntent.putStringArrayListExtra("arrList", incInfo);
startActivity(infoIntent);
在AndroidManifest.xml的APPA,我已經包括以下內容:
<activity
android:name=".appaActivity"
android:label="@string/title_activity">
<intent-filter>
<action android:name="com.example.DO_SOMETHING"/>
</intent-filter>
</activity>
當我嘗試運行APPB(其發送意圖到AppA,我得到以下錯誤:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.appb/com.example.user.appb.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.user.appa/appaActivity}; have you declared this activity in your AndroidManifest.xml?
因爲我可以清楚地看到我已經定義APPA AndroidManifest.xml中的appaActivity,誰能告訴我我可能忽略的是什麼?
您是否嘗試添加「 」以進行intent-filter? –
atastrumf
2015-02-06 19:08:34
由於這是一個明確的意圖,我不需要指定默認值,因爲我直接調用該活動。但是,我確實解決了這個問題。我沒有意識到我需要指定類名的完整路徑作爲我的ComponentName對象的第二個參數。 還是謝謝! – CoffeeSaurus 2015-02-06 19:24:26