当前位置: 代码迷 >> Android >> 怎么在启动另外一个Activity
  详细解决方案

怎么在启动另外一个Activity

热度:33   发布时间:2016-05-01 20:53:40.0
如何在启动另外一个Activity?
我有1个MainActivity,1个SurfaceView,1个 Player类继承activity。


请问要如何在sufaceView里启动并且执行该继承了activity的Player类呢?

我的主要 MainActivity 代码:

Java code
public class MainActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(new MySurfaceView(this));    }


------解决方案--------------------
首先在manifest中注册该activity,然后用显示意图或者隐式意图启动都可以
注册
<activity android:name = ".Player">
跳转
Intent intent = new Intent(this,Player.class);
startActivity(intent);
------解决方案--------------------
public static void open(Activity a, Class<? extends Activity> b,
boolean finishSelf) {
if (b == a.getClass())
return;
Intent intent = new Intent();
intent.setClass(a, b);
a.startActivity(intent);
if (finishSelf) {
a.finish();
a.overridePendingTransition(0, 0);
}
}

把要要跳转的Activity先去注册下,然后调用这个方法!!!
------解决方案--------------------
surfaceView 是画布,不知道,能不能把Activity.画在里面,帮你顶,顶。
------解决方案--------------------
这个不知道,,帮你顶。。
------解决方案--------------------
两种方法:一是xml里定义,事件发生进行跳转
二是动态生成跳转
这是跳转,你的mainActivity会触发onPause事件
------解决方案--------------------
Player为什么要继承activity呢
------解决方案--------------------

import com.sopy.AudioRender;
import com.sopy.VideoRender;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class PlayerView extends Activity
{
public static final String TAG = "PlayerView";
public static final String BUNDDLE_WIDTH = "width";
public static final String BUNDDLE_HEIGHT = "height";
public static final String BUNDDLE_USER = "user";

public static final int MENU_FULL_SCREEN = Menu.FIRST;
public static final int MENU_ORIGINAL_SCREEN = Menu.FIRST + 1;
public static final int MENU_EXIT = Menu.FIRST + 2;

int mUserID = 0;
VideoRender mVideoRender = null;
AudioRender mAudioRender = null;
NetworkService mNetworkService = null;

TextView mInfoTextView = null;
String mStringInfo = "Live Streaming";

int mScreenWidth = 0;
int mScreenHeight = 0;

@Override
public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);

DisplayMetrics dm = new DisplayMetrics();
  相关解决方案