簡體   English   中英

Android清單更改強制關閉應用程序

[英]Android Manifest change force closes app

我在工作的應用中添加了一個類。 我希望新類成為要加載的第一頁,其名稱為dashboard.class。 我將其添加到清單中,現在當您嘗試加載它時,應用程序強制關閉。 我還去掉了清單中的條目,該應用程序再次運行。 請告訴我我做錯了

     <activity
        android:name="com.magicbuddy.gamble.Dashboard"
        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="com.magicbuddy.gamble.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.MagicBuddy.Gamble.MAINACTIVITY" />

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

儀表板是我添加的新類。 當我刪除它並將MainActivity重置為LAUNCHER和MAIN時,該應用程序將再次正常運行。

我嘗試過發布刪除intent-filter的解決方案,但它仍然崩潰。 這是logcat **也謝謝你們的答復

01-31 13:56:38.709:D / AndroidRuntime(1995):關閉VM 01-31 13:56:38.709:W / dalvikvm(1995):threadid = 1:線程退出且未捕獲異常(group = 0xb2eda288)01 -31 13:56:38.709:E / AndroidRuntime(1995):致命異常:主01-31 13:56:38.709:E / AndroidRuntime(1995):java.lang.RuntimeException:無法啟動活動ComponentInfo {com.magicbuddy .gamble / com.magicbuddy.gamble.Dashboard}:java.lang.ClassCastException:android.widget.ImageButton無法轉換為android.widget.Button 01-31 13:56:38.709:E / AndroidRuntime(1995):在android .app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)01-31 13:56:38.709:E / AndroidRuntime(1995):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)01-31 13:56 :38.709:E / AndroidRuntime(1995):在android.app.ActivityThread.access $ 600(ActivityThread.java:130)01-31 13:56:38.709:E / AndroidRuntime(1995):在android.app.ActivityThread $ H .handleMessage(ActivityThread.java:1195)01-31 13:56:38.709:E / AndroidRun 時間(1995):在android.os.Handler.dispatchMessage(Handler.java:99)01-31 13:56:38.709:E / AndroidRuntime(1995):在android.os.Looper.loop(Looper.java:137) )01-31 13:56:38.709:E / AndroidRuntime(1995):在android.app.ActivityThread.main(ActivityThread.java:4745)01-31 13:56:38.709:E / AndroidRuntime(1995):在Java .lang.reflect.Method.invokeNative(本機方法)01-31 13:56:38.709:E / AndroidRuntime(1995):at java.lang.reflect.Method.invoke(Method.java:511)01-31 13: 56:38.709:E / AndroidRuntime(1995):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786)01-31 13:56:38.709:E / AndroidRuntime(1995):在com .android.internal.os.ZygoteInit.main(ZygoteInit.java:553)01-31 13:56:38.709:E / AndroidRuntime(1995):at dalvik.system.NativeStart.main(Native Method)01-31 13: 56:38.709:E / AndroidRuntime(1995):由以下原因引起:java.lang.ClassCastException:android.widget.ImageButton無法轉換為android.widget.Button 01-31 13:56:38.709:E / AndroidRuntime(1995):在com.magicbuddy.gam ble.Dashboard.onCreate(Dashboard.java:25)01-31 13:56:38.709:E / AndroidRuntime(1995):at android.app.Activity.performCreate(Activity.java:5008)01-31 13:56: 38.709:E / AndroidRuntime(1995):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)01-31 13:56:38.709:E / AndroidRuntime(1995):在android.app.ActivityThread.performLaunchActivity(ActivityThread的.java:2023)

我添加了一個只有4個按鈕的類,每個按鈕都有一個圖像。 那就是我要首先加載的東西,但是當我嘗試實現這一點時,這就是logcat錯誤

根據logcat, Exception為:

java.lang.ClassCastException:android.widget.ImageButton無法轉換為android.widget.Button

這是在Dashboard ActivityonCreate()方法中發生的。 您正在將ImageButton強制轉換為Button 問題不在於清單,而在於類本身。

嘗試從MainActivity中刪除intent-filter 在嘗試控制活動中訪問哪種類型的意圖時,您實際上僅需要定義意圖過濾器,但是如果您僅按照我的想法由Dashboard活動調用該意圖,則無需包括意圖過濾器,因為它是同一軟件包的一部分

暫無
暫無

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

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