android - 改变启动 Activity

标签 android android-manifest launching-application

我想更改我的启动 Activity 。目前我的 list 是这样的:

<application android:icon="@drawable/iconbj" android:label="@string/app_name"
    android:debuggable="true">
    <activity android:name=".Main" android:label="@string/app_name" android:screenOrientation="landscape">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:label="DemoPlayActivity" android:name="DemoPlayActivity" android:screenOrientation="landscape"></activity>

</application>

现在我已经创建了另一个 Activity ,它是一个闪屏,我想启动它而不是 Main,所以我尝试了这种方式:

<application android:icon="@drawable/iconbj" android:label="@string/app_name"
    android:debuggable="true">
    <activity android:name=".Splash" android:label="@string/app_name"
        android:screenOrientation="landscape">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="Main" android:label="Main"
        android:screenOrientation="landscape">
    </activity>
    <activity android:label="DemoPlayActivity" android:name="DemoPlayActivity"
        android:screenOrientation="landscape"></activity>

</application>

但我得到了这个问题的许可:

[2011-03-31 16:32:44 - BlackJackNuovo] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.phinet.android.blackjack/.Main } from null (pid=-1, uid=-1) requires null.

请帮助我:)

更新

没办法。我是这样做的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.phinet.android.blackjack" android:versionCode="1"
    android:versionName="1.0">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />

    <application android:icon="@drawable/iconbj" android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="com.phinet.android.blackjack.Splash" android:label="Splash"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.phinet.android.blackjack.Main" android:label="Main"
            android:screenOrientation="landscape">
        </activity>
        <activity android:label="com.phinet.android.blackjack.DemoPlayActivity" android:name="DemoPlayActivity"
            android:screenOrientation="landscape"></activity>

    </application>
</manifest>

但似乎午餐总是主要 Activity ,这是 concole 日志:

[2011-04-01 10:57:10 - BlackJackNuovo] Uploading BlackJackNuovo.apk onto device '9000d365e767'
[2011-04-01 10:57:16 - BlackJackNuovo] Installing BlackJackNuovo.apk...
[2011-04-01 10:57:32 - BlackJackNuovo] Success!
[2011-04-01 10:57:32 - BlackJackNuovo] Starting activity com.phinet.android.blackjack.Main on device 9000d365e767
[2011-04-01 10:57:32 - BlackJackNuovo] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.phinet.android.blackjack/.Main }
[2011-04-01 10:57:35 - BlackJackNuovo] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.phinet.android.blackjack/.Main } from null (pid=-1, uid=-1) requires null

为什么?

最佳答案

<activity android:name="Main" android:label="Main"
    android:screenOrientation="landscape">
</activity>
<activity android:label="DemoPlayActivity" android:name="DemoPlayActivity"
    android:screenOrientation="landscape"></activity>

应该仍然有领先的

<activity android:name=".Main" android:label="Main" android:screenOrientation="landscape">
</activity>
<activity android:label=".DemoPlayActivity" android:name="DemoPlayActivity"android:screenOrientation="landscape">
</activity>

这说明它有一个相对于您的类的路径。如果您愿意,可以进行绝对引用,即 "com.your.app.Main"

关于android - 改变启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501643/

相关文章:

android - 无法在内部类中启动服务 - 这是我的 Android list 吗?

android - Moshi 的自定义适配器与 RxAndroid & Retrofit & Kotlin

android - 如何在 android list 文件中声明两个包及其 Activity ?

android studio list 文件问题

android - 在 RINGING 电话状态下关闭 wifi

iphone - iOS : Failed to launch . 应用程序文件

android - 是否可以在同一个 Activity 中有 2 个上下文菜单?

android - Ice Cream Sandwich Android 标签样式

ios - Xcode 9 错误 : "iPhone has denied the launch request"

用于启动 Steam 游戏的 C# 应用程序