简体   繁体   中英

Warning: Activity not started , its current task has been brought to the front

While working though a book on Android game development, I came across the follwing warning in eclipse: ActivityManager: Warning: Activity not started, its current task has been brought to the front

Basically, I have 3 projects;Mr.Snake,Mr.Snake.Framework and Mr.Snakey .

In my Mr.Snake file, I have :

/Mr.Snake/src/com/zardapps/framework/Audio.java
/Mr.Snake/src/com/zardapps/framework/FileIO.java
/Mr.Snake/src/com/zardapps/framework/Game.java
/Mr.Snake/src/com/zardapps/framework/Graphics.java
/Mr.Snake/src/com/zardapps/framework/Input.java
/Mr.Snake/src/com/zardapps/framework/Music.java
/Mr.Snake/src/com/zardapps/framework/MySuperAwesomeGame.java
/Mr.Snake/src/com/zardapps/framework/Pixmap.java
/Mr.Snake/src/com/zardapps/framework/Screen.java
/Mr.Snake/src/com/zardapps/framework/Sound.java

In my Mr.Snake.Framework, I have :

/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidAudio.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidFileIO.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidGame.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidGraphics.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidInput.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidMusic.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidPixmap.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidSound.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/KeyboardHandler.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/MultiTouchHandler.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/Pool.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/SingleTouchHandler.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/TouchHandler.java
/Mr.Snake.Framework/src/com/zardtechnologies/androidgames/framework/impl/AndroidFastRenderV have :iew.java

In my Mr.Snakey, I have :

/Mr.Snakey/src/com/zardtechnologies/mrsnakey/Assets.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/GameScreen.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/HighscoreScreen.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/LoadingScreen.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/MainMenuScreen.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/MrSnakey.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/Settings.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/Snake.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/SnakePart.java
/Mr.Snakey/src/com/zardtechnologies/mrsnakey/Stain.java

These are the three projects that make up my MrSnakey game. Currently, the error I get from the console

[2012-04-26 21:56:59 - Mr.Snakey] Android Launch!
[2012-04-26 21:56:59 - Mr.Snakey] adb is running normally.
[2012-04-26 21:56:59 - Mr.Snakey] Performing com.zardtechnologies.mrsnakey.MrSnakey activity launch
[2012-04-26 21:56:59 - Mr.Snakey] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'Test.Phone'
[2012-04-26 21:57:02 - Mr.Snakey] Application already deployed. No need to reinstall.
[2012-04-26 21:57:02 - Mr.Snake.Framework] Could not find Mr.Snake.Framework.apk!
[2012-04-26 21:57:02 - Mr.Snake] Could not find Mr.Snake.apk!
[2012-04-26 21:57:02 - Mr.Snakey] Starting activity com.zardtechnologies.mrsnakey.MrSnakey on device emulator-5554
[2012-04-26 21:57:04 - Mr.Snakey] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.zardtechnologies.mrsnakey/.MrSnakey }
[2012-04-26 21:57:04 - Mr.Snakey] ActivityManager: Warning: Activity not started, its current task has been brought to the front
[2012-04-26 21:58:20 - Mr.Snakey] ------------------------------
[2012-04-26 21:58:20 - Mr.Snakey] Android Launch!
[2012-04-26 21:58:20 - Mr.Snakey] adb is running normally.
[2012-04-26 21:58:20 - Mr.Snakey] Performing com.zardtechnologies.mrsnakey.MrSnakey activity launch
[2012-04-26 21:58:20 - Mr.Snakey] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'Test.Phone'
[2012-04-26 21:58:22 - Mr.Snakey] Application already deployed. No need to reinstall.
[2012-04-26 21:58:22 - Mr.Snakey] Project dependency found, installing: Mr.Snake.Framework
[2012-04-26 21:58:22 - Mr.Snake.Framework] Uploading Mr.Snake.Framework.apk onto device 'emulator-5554'
[2012-04-26 21:58:25 - Mr.Snake.Framework] Installing Mr.Snake.Framework.apk...
[2012-04-26 21:58:52 - Mr.Snake.Framework] Success!
[2012-04-26 21:58:52 - Mr.Snake.Framework] Project dependency found, installing: Mr.Snake
[2012-04-26 21:58:52 - Mr.Snake] Uploading Mr.Snake.apk onto device 'emulator-5554'
[2012-04-26 21:58:54 - Mr.Snake] Installing Mr.Snake.apk...
[2012-04-26 21:59:16 - Mr.Snake] Success!
[2012-04-26 21:59:16 - Mr.Snakey] Project dependency found, installing: Mr.Snake
[2012-04-26 21:59:18 - Mr.Snake] Application already deployed. No need to reinstall.
[2012-04-26 21:59:18 - Mr.Snakey] Starting activity com.zardtechnologies.mrsnakey.MrSnakey on device emulator-5554
[2012-04-26 21:59:20 - Mr.Snakey] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.zardtechnologies.mrsnakey/.MrSnakey }
[2012-04-26 21:59:20 - Mr.Snakey] ActivityManager: Warning: Activity not started, its current task has been brought to the front

My Mr.Snakey Activity file is here:

package com.zardtechnologies.mrsnakey;

import com.zardapps.framework.Screen;
import com.zardtechnologies.androidgames.framework.impl.AndroidGame;

public class MrSnakey extends AndroidGame {

    public Screen getStartScreen() {
        return new LoadingScreen(this);
    }




}

It links the file from the AndroidGame , which is located at framework impl project:

package com.zardtechnologies.androidgames.framework.impl;

import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.view.Window;
import android.view.WindowManager;

import com.zardapps.framework.Audio;
import com.zardapps.framework.FileIO;
import com.zardapps.framework.Game;
import com.zardapps.framework.Graphics;
import com.zardapps.framework.Input;
import com.zardapps.framework.Screen;

public abstract class AndroidGame extends Activity implements Game {
    AndroidFastRenderView renderView;
    Graphics graphics;
    Audio audio;
    Input input;
    FileIO fileIO;
    Screen screen;
    WakeLock wakeLock;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        boolean isLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
        int frameBufferWidth = isLandscape ? 480 : 320;
        int frameBufferHeight = isLandscape ? 320 : 480;
        Bitmap frameBuffer = Bitmap.createBitmap(frameBufferWidth,
                frameBufferHeight, Config.RGB_565);

        float scaleX = (float) frameBufferWidth
                / getWindowManager().getDefaultDisplay().getWidth();
        float scaleY = (float) frameBufferHeight
                / getWindowManager().getDefaultDisplay().getHeight();

        renderView = new AndroidFastRenderView(this, frameBuffer);
        graphics = new AndroidGraphics(getAssets(), frameBuffer);
        fileIO = new AndroidFileIO(getAssets());
        audio = new AndroidAudio(this);
        input = new AndroidInput(this, renderView, scaleX, scaleY);
        screen = getStartScreen();
        setContentView(renderView);

        PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
        wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK,
                "GLGAME");

    }

    public void onResume() {
        super.onResume();
        wakeLock.acquire();
        screen.resume();
        renderView.resume();
    }

    public void onPause() {
        super.onPause();
        wakeLock.release();
        renderView.pause();
        screen.pause();

        if (isFinishing())
            screen.dispose();
    }

    public Input getInput() {
        return input;
    }

    public FileIO getFileIO() {
        return fileIO;
    }

    public Graphics getGraphics() {
        return graphics;
    }

    public Audio getAudio() {
        return audio;
    }

    public void setScreen(Screen screen) {
        if (screen == null)
            throw new IllegalArgumentException("Screen must not be null");
        this.screen.pause();
        this.screen.dispose();
        screen.resume();
        screen.update(0);
        this.screen = screen;
    }

    public Screen getCurrentScreen() {
        return screen;
    }
}

In which the game is from framework project

package com.zardapps.framework;
public interface Game {
    public Input getInput();
    public FileIO getFileIO();
    public Graphics getGraphics();
    public Audio getAudio();
    public void setScreen(Screen screen);
    public Screen getCurrentScreen();
    public Screen getStartScreen();
}

My Mr.Snakey Manifest :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zardtechnologies.mrsnakey"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="Mr.Snakey" >
        <activity
            android:name=".MrSnakey"
            android:configChanges="keyboard|keyboardHidden|orientation"
            android:label="Mr.Snakey"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-sdk
        android:minSdkVersion="3"
        android:targetSdkVersion="12" />

</manifest>

Basically, I cant find the root of problem to the error; ActivityManager: Warning: Activity not started, its current task has been brought to the front I am currently using an emulator in eclipse. I have tried to rebuild my project , reinstall it and clean it but nothing works for me. I appreciate the time you guys have taken to read such a long post I have written.

This is happened because there are no changes in the new APK file so try to clean the code or recompile it before running it again and this will go away.

If you are trying to run this game in the second time the Android OS will check the APK file if it has changes from the current one. and since the game already started the OS will not re-open the application. he will just continue the already opened one.

the fastest solution for that is to press on the project name on the e-clipse and choose clean or rebuilt your application.

This isn't an error or even a compiler warning that indicates you've done anything wrong. I know it says "warning", but it's more like an FYI. As in "FYI, you're running the same code without changes, and that app is already running, so Android will just show you the running app instead of installing the same thing and restarting it."

I got the same error when i duplicated the same project. Initially i ran the duplicate project with tiny changes it successfully executed and shown on emulator later when i try to run the original project i got this error"Warning: Activity not started , its current task has been brought to the front" so i uninstalled the duplicate app from emulator by going through "Manage Apps" then i have run the original project it successfully run. Hope it may help u

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM