启动另外一个activity只能在activity里面启动吗

有没有别的方法可以在普通的java类里启动

------解决思路----------------------

别的方法是没办法的.不过你可以试试用java反射的方式 看能否启动起来

------解决思路----------------------

引用:Quote: 引用:普通的java类里  Context 哪里来呢我都说了用别的方法

各种Start........Activity、service、广播等等,都封装在继承自Context抽象类的ContextImpl里,普通的java类,貌似不行吧.

------解决思路----------------------

class ContextImpl extends Context {

//整个App的主线程

final ActivityThread mMainThread;

//整个App的相关信息

final LoadedApk mPackageInfo;

//资源解析器

private final ResourcesManager mResourcesManager;

//App资源类

private final Resources mResources;

//外部Context的引用

private Context mOuterContext;

//默认主题

private int mThemeResource = 0;

private Resources.Theme mTheme = null;

//包管理器

private PackageManager mPackageManager;

................................

//以下是静态区注册系统的各种服务,多大五六十种系统服务,因此每个持有Context引用的对象都可以随时通过getSystemService方法来轻松获取系统服务。

static {

registerService(ACCESSIBILITY_SERVICE, new ServiceFetcher() {

public Object getService(ContextImpl ctx) {

return AccessibilityManager.getInstance(ctx);

}});

registerService(CAPTIONING_SERVICE, new ServiceFetcher() {

public Object getService(ContextImpl ctx) {

return new CaptioningManager(ctx);

}});

registerService(ACCOUNT_SERVICE, new ServiceFetcher() {

public Object createService(ContextImpl ctx) {

IBinder b = ServiceManager.getService(ACCOUNT_SERVICE);

IAccountManager service = IAccountManager.Stub.asInterface(b);

return new AccountManager(ctx, service);

}});

........................

}

.................

//启动Activity的地方

@Override

public void startActivity(Intent intent, Bundle options) {

warnIfCallingFromSystemProcess();

if ((intent.getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) == 0) {

throw new AndroidRuntimeException(

"Calling startActivity() from outside of an Activity "

+ " context requires the FLAG_ACTIVITY_NEW_TASK flag."

+ " Is this really what you want?");

}

mMainThread.getInstrumentation().execStartActivity(

getOuterContext(), mMainThread.getApplicationThread(), null,

(Activity)null, intent, -1, options);

}

..........

//启动服务的地方

@Override

public ComponentName startService(Intent service) {

warnIfCallingFromSystemProcess();

return startServiceCommon(service, mUser);

}

...............

}

------解决思路----------------------

把Context作为参数传到普通类里啊

------解决思路----------------------

引用:

把Context作为参数传到普通类里啊

我觉得楼主新建一个类想做点其他操作

------解决思路----------------------

可以将Activity当做参数传给普通的java类。

比如当前activity叫 MainActivity。有一个类叫Test.。那么给他写一个构造方法 Test(Context context)

使用时这样,Test t = new Test(MainActivity.this);

ok 。在Test中你就可以用Intent开启新的activity了

------解决思路----------------------

引用:可以将Activity当做参数传给普通的java类。

比如当前activity叫 MainActivity。有一个类叫Test.。那么给他写一个构造方法 Test(Context context)

使用时这样,Test t = new Test(MainActivity.this);

ok 。在Test中你就可以用Intent开启新的activity了

可行,实例化普通类的时候把mContext传递进去,我也这么写过

android 启动另外一个activity,起动另外一个activity只能在activity里面启动吗相关推荐

  1. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  2. Android官方开发文档Training系列课程中文版:管理Activity的生命周期之启动一个Activity

    原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/index.html 导言 用户通过导航退出或者返回应用的时 ...

  3. Android 推断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在

    推断当前Activity是最后一个Activity: 在Activity的方法中, 有一个方法isTaskRoot()方法, 这种方法能够推断当前Activity是否是最后一个Activity, 假设 ...

  4. Android入门教程 (二) 第一个App HelloWorld

    一 .前言 作为一名程序员,开始学习一门新的语言的第一步就是让程序输出 "Hello World!".学习Android也是一样,我的教学也是从第一个 "Hello Wo ...

  5. android intent参数是上次的结果,【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动...

    1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫"hellotest01"的项目. 新建活动FirstActivity,勾选"Generate Layout ...

  6. 安卓开发之如何利用Intent对象,实现Activity和另一个Activity之间的跳转

    1.在一个安卓项目中,如果仅有一个Activity,直接在AndroidManifest.xml配置文件中进行配置,如果有两个Activity,要实现直接的跳转,则需要调用Intent对象,其中主要的 ...

  7. java写一个android程序_【Android开发笔记】3.编写第一个Android程序

    前言 上一节我们通过一个Demo熟悉了Eclipse的基本使用.如何在模拟器和手机中运行以及如何打包成APK,但没具体编写代码,相信很多同学已经按耐不住了吧,这一节我们会动手编写代码来熟悉Androi ...

  8. 从源码解析-Android中Zygote进程是如何fork一个APP进程的

    zygote进程fork子进程 前言 强烈推荐 进程创建流程 APP启动第三方应用 startActivity startService sendBroadcast ContentResolver.q ...

  9. 一个APP从启动到主页面显示经历了哪些过程?(App启动流程,从点击桌面开始)

    本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理.不介绍具体源码,仅仅构建一个大体框架. 原地址链接:http://www.jianshu.com/p/a72c5 ...

最新文章

  1. Linux里面的正则表达式!
  2. 聊聊flink的OperatorStateBackend
  3. python基础教程:操作符
  4. Java的对象初始化过程
  5. 【数学基础】算法工程师必备的机器学习--线性模型(下)
  6. Non-static field ‘func1‘ cannot be referenced from from a static context
  7. 关于excel中的查找
  8. 在Ubuntu下rtorrent编译安装笔记
  9. 三.Mybatis 多对一与一对多
  10. C/C++回调方式系列之一 函数指针和函数回调模式
  11. ssm大型分布式商城项目实战视频教程下载java分布式开发教程
  12. 将数组分成两部分,使得这两部分的和的差最小
  13. 关于explain plan的使用!
  14. 安卓开发视频教程!十多家大厂Android面试真题锦集干货整理,写给正在求职的安卓开发
  15. 跌倒检测_使用姿势估计的跌倒检测
  16. Halcon——热熔胶质量检测
  17. 推荐3个网页设计在线配色网站
  18. Apache HTTP Servcer-Apache服务器下载与Windows系统下安装
  19. linux 中文语系,linux中语系
  20. SpringSecurity 学习笔记分享 记录历程开篇

热门文章

  1. 关于printf()与自增自减运算符结和问题
  2. python with语句_python中的with语句
  3. 查询性能优化(使用 Explain 进行分析、优化数据访问、重构查询方式)、存储引擎(InnoDB/MyISAM)
  4. OS / Linux / 文件描述符以及 file 结构体
  5. 启明云端基于sigmastarSSD201/202核心板\开发板资料分享地址,另外还可以加入技术沟通群聊,及时解决相关技术问题!
  6. zblog php 指定分类,zblogPHP 为某些分类指定分类模板,后台版方法
  7. mysql主主同步配置_MySQL 主主同步配置步骤
  8. 实时音频抗弱网技术揭秘
  9. php 替换字符串 图片,PHP替换字符串实现图片自适应屏幕实例代码
  10. java 可用内存_总可用内存java