首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改Android中的默认启动程序活动

更改Android中的默认启动程序活动
EN

Stack Overflow用户
提问于 2017-11-09 02:13:40
回答 7查看 9K关注 0票数 1

我希望在主活动出现之前有一个启动屏幕,但是我的“主活动”被自动设置为一个启动程序。我在堆栈溢出帖子和google上搜索了很多,但是我找不到解决我的问题的方法。下面我发布了我的manifest.xml文件,是的,我知道它很糟糕(我尝试了一些东西)。

更新:我根据评论中的建议更新了下面的manifest.xml文件,并试图解决与另一个开发人员测试该应用程序时出现的以下问题:

该应用程序被启动,启动屏幕的背景图像加载,然后应用程序崩溃和关闭(有时甚至整个AVD/电话)

以下是我所得到的两个错误(!无论我尝试什么,FunFactsActivity.DEAD one都会不断地发生)。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>

代码语言:javascript
运行
复制
<application
    android:name=".FunFactsApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity android:name=".SplashScreenActivity" android:theme="@style/SplashScreenTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name=".FunFactsActivity">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>

代码语言:javascript
运行
复制
ERROR #1:

11-10 11:42:12.718 16295-16295/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:42:12.729 16295-16295/com.spdesigns.funfacts I/art: Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 538us total 10.161ms
11-10 11:42:12.729 16295-16295/com.spdesigns.funfacts I/art: Forcing collection of SoftReferences for 354MB allocation
11-10 11:42:12.729 16295-16295/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:42:12.736 16295-16295/com.spdesigns.funfacts I/art: Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 555us total 7.286ms
11-10 11:42:12.736 16295-16295/com.spdesigns.funfacts W/art: Throwing OutOfMemoryError "Failed to allocate a 372109512 byte allocation with 4194304 free bytes and 24MB until OOM"
11-10 11:42:12.737 16295-16295/com.spdesigns.funfacts D/skia: --- allocation failed for scaled bitmap
11-10 11:42:12.744 16295-16295/com.spdesigns.funfacts D/AndroidRuntime: Shutting down VM
11-10 11:42:12.747 16295-16295/com.spdesigns.funfacts E/AndroidRuntime: FATAL EXCEPTION: main
                                                                        Process: com.spdesigns.funfacts, PID: 16295
                                                                        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spdesigns.funfacts/com.spdesigns.funfacts.SplashScreenActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown>
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                                            at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:154)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                                                                         Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown>
                                                                         Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class <unknown>
                                                                         Caused by: java.lang.reflect.InvocationTargetException
                                                                            at java.lang.reflect.Constructor.newInstance0(Native Method)
                                                                            at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
                                                                            at android.view.LayoutInflater.createView(LayoutInflater.java:645)
                                                                            at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
                                                                            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
                                                                            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
                                                                            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
                                                                            at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                                            at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                            at com.spdesigns.funfacts.SplashScreenActivity.onCreate(SplashScreenActivity.java:17)
                                                                            at android.app.Activity.performCreate(Activity.java:6662)
                                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                                            at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:154)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                                                                         Caused by: java.lang.OutOfMemoryError: Failed to allocate a 372109512 byte allocation with 4194304 free bytes and 24MB until OOM
                                                                            at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
                                                                            at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
                                                                            at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
                                                                            at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
                                                                            at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
                                                                            at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
                                                                            at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
                                                                            at android.content.res.Resources.loadDrawable(Resources.java:854)
                                                                            at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
                                                                            at android.view.View.<init>(View.java:4175)
                                                                            at android.view.ViewGroup.<init>(ViewGroup.java:578)
                                                                            at android.widget.LinearLayout.<init>(LinearLayout.java:211)
11-10 11:42:12.747 16295-16295/com.spdesigns.funfacts E/AndroidRuntime:     at android.widget.LinearLayout.<init>(LinearLayout.java:207)
                                                                            at android.widget.LinearLayout.<init>(LinearLayout.java:203)
                                                                                ... 25 more

ERROR #2(DEAD):

11-10 11:43:09.417 16410-16410/com.spdesigns.funfacts I/art: Not late-enabling -Xcheck:jni (already on)
11-10 11:43:09.418 16410-16410/com.spdesigns.funfacts W/art: Unexpected CPU variant for X86 using defaults: x86
11-10 11:43:09.561 16410-16410/com.spdesigns.funfacts W/System: ClassLoader referenced unknown path: /data/app/com.spdesigns.funfacts-2/lib/x86
11-10 11:43:09.583 16410-16410/com.spdesigns.funfacts I/InstantRun: starting instant run server: is main process
11-10 11:43:09.692 16410-16410/com.spdesigns.funfacts W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
11-10 11:43:11.042 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.042 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.046 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.052 16410-16410/com.spdesigns.funfacts I/art: Alloc partial concurrent mark sweep GC freed 99(8KB) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 552us total 5.888ms
11-10 11:43:11.052 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.060 16410-16410/com.spdesigns.funfacts I/art: Alloc concurrent mark sweep GC freed 38(1840B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 550us total 8.156ms
11-10 11:43:11.060 16410-16410/com.spdesigns.funfacts I/art: Forcing collection of SoftReferences for 354MB allocation
11-10 11:43:11.060 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.070 16410-16410/com.spdesigns.funfacts I/art: Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 678us total 9.530ms
11-10 11:43:11.070 16410-16410/com.spdesigns.funfacts W/art: Throwing OutOfMemoryError "Failed to allocate a 372109512 byte allocation with 4194304 free bytes and 24MB until OOM"
11-10 11:43:11.070 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.071 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.076 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.083 16410-16410/com.spdesigns.funfacts I/art: Alloc partial concurrent mark sweep GC freed 6(144B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 713us total 7.322ms
11-10 11:43:11.083 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.091 16410-16410/com.spdesigns.funfacts I/art: Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 546us total 7.309ms
11-10 11:43:11.091 16410-16410/com.spdesigns.funfacts I/art: Forcing collection of SoftReferences for 354MB allocation
11-10 11:43:11.091 16410-16410/com.spdesigns.funfacts I/art: Starting a blocking GC Alloc
11-10 11:43:11.100 16410-16410/com.spdesigns.funfacts I/art: Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 359MB/363MB, paused 744us total 8.983ms
11-10 11:43:11.100 16410-16410/com.spdesigns.funfacts W/art: Throwing OutOfMemoryError "Failed to allocate a 372109512 byte allocation with 4194304 free bytes and 24MB until OOM"
11-10 11:43:11.100 16410-16410/com.spdesigns.funfacts D/skia: --- allocation failed for scaled bitmap
11-10 11:43:11.104 16410-16410/com.spdesigns.funfacts D/AndroidRuntime: Shutting down VM
11-10 11:43:11.105 16410-16410/com.spdesigns.funfacts E/AndroidRuntime: FATAL EXCEPTION: main
                                                                        Process: com.spdesigns.funfacts, PID: 16410
                                                                        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spdesigns.funfacts/com.spdesigns.funfacts.SplashScreenActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown>
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                                            at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:154)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                                                                         Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown>
                                                                         Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class <unknown>
                                                                         Caused by: java.lang.reflect.InvocationTargetException
                                                                            at java.lang.reflect.Constructor.newInstance0(Native Method)
                                                                            at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
                                                                            at android.view.LayoutInflater.createView(LayoutInflater.java:645)
                                                                            at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
                                                                            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
                                                                            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
                                                                            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
                                                                            at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                                            at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                            at com.spdesigns.funfacts.SplashScreenActivity.onCreate(SplashScreenActivity.java:17)
                                                                            at android.app.Activity.performCreate(Activity.java:6662)
                                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                                            at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:154)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                                                                         Caused by: java.lang.OutOfMemoryError: Failed to allocate a 372109512 byte allocation with 4194304 free bytes and 24MB until OOM
                                                                            at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
                                                                            at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
                                                                            at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
                                                                            at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
                                                                            at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
                                                                            at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
                                                                            at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
                                                                            at android.content.res.Resources.loadDrawable(Resources.java:854)
                                                                            at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
                                                                            at android.view.View.<init>(View.java:4175)
                                                                            at android.view.ViewGroup.<init>(ViewGroup.java:578)
                                                                            at android.widget.LinearLayout.<init>(LinearLayout.java:211)
11-10 11:43:11.105 16410-16410/com.spdesigns.funfacts E/AndroidRuntime:     at android.widget.LinearLayout.<init>(LinearLayout.java:207)
                                                                            at android.widget.LinearLayout.<init>(LinearLayout.java:203)
                                                                                ... 25 more
EN

回答 7

Stack Overflow用户

发布于 2017-11-09 03:28:31

删除intent-filter标记,如下所示,我认为它会工作的

代码语言:javascript
运行
复制
 <activity android:name=".FunFactsActivity"></activity>
票数 2
EN

Stack Overflow用户

发布于 2017-11-09 04:19:18

您只需要删除<intent-filter ...> ..... </intent-filter>,那么您的AndroidManifest.xml看起来就像

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.spdesigns.funfacts">

<application
    android:name=".FunFactsApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity android:name=".FunFactsActivity">

    </activity>

    <activity android:name=".SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

</application>

我希望这能帮到你。

票数 1
EN

Stack Overflow用户

发布于 2017-11-09 04:28:57

如果您想先启动启动屏幕,请在Manifest文件中进行以下更改

代码语言:javascript
运行
复制
<application
    android:name=".FunFactsApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity android:name=".FunFactsActivity">

    </activity>

    <activity android:name=".SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

</application>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47192798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档