簡體   English   中英

ActivityNotFoundException:未找到處理意圖的活動

[英]ActivityNotFoundException: No Activity found to handle Intent

擔心成為那個已經提出了問題的人..... *我仔細研究了這個問題的各種解決方案,但似乎沒有一個能解決我的問題。 我只是有一個想要啟動地圖活動的按鈕。

以下是活動:

  public void OnclickButtonListener() {
    button_map = (Button)findViewById(R.id.button);
    button_map.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent mapintent = new Intent("mf.tutorial.MapsActivity");
            startActivity(mapintent);
        }
    });

並在清單文件中處理意圖:

        <activity
        android:name=".MapsActivity"
        android:label="@string/title_activity_maps">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

返回的錯誤如下所示:

ActivityNotFoundException: No Activity found to handle Intent { act=mf.tutorial.MapsActivity }

真的很感激任何幫助,因為我花了很長時間才走到這一步,這只是最新的絆腳石。 我很樂意提供代碼中與解決方案有關的任何其他部分!

非常感謝你!

我假設MapsActivity是您apk中的一項活動? 在這種情況下,您可以使用Intent intent = new Intent(context, MapsActivity.class); 您使用的Intent版本用於運行具有針對特定操作的Intent過濾器的活動。 通常用於訪問系統應用程序,例如相機應用程序或撥號器。

當您嘗試啟動Activity ,您可以執行以下操作:

    Intent mapintent = new Intent("mf.tutorial.MapsActivity");

這將創建一個Intent ,並設置操作在Intent"mf.tutorial.MapsActivity"

當您調用startActivity() ,Android會嘗試在已安裝的應用程序中查找“ Activity ,該應用程序知道如何處理ACTION "mf.tutorial.MapsActivity" 沒有,所以您得到ActivityNotFoundException

您要做的是通過顯式的COMPONENT而不是隱式的ACTION啟動Activity 這樣做:

    Intent mapintent = new Intent(context, MapsActivity.class);
    startActivity(mapintent);

使用2參數構造函數可以顯式設置COMPONENT(在本例中為MapsActivity )。 參數context應該是對調用Activity的引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM