android 启动另外一个activity,起动另外一个activity只能在activity里面启动吗
启动另外一个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里面启动吗相关推荐
- android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...
Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...
- Android官方开发文档Training系列课程中文版:管理Activity的生命周期之启动一个Activity
原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/index.html 导言 用户通过导航退出或者返回应用的时 ...
- Android 推断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在
推断当前Activity是最后一个Activity: 在Activity的方法中, 有一个方法isTaskRoot()方法, 这种方法能够推断当前Activity是否是最后一个Activity, 假设 ...
- Android入门教程 (二) 第一个App HelloWorld
一 .前言 作为一名程序员,开始学习一门新的语言的第一步就是让程序输出 "Hello World!".学习Android也是一样,我的教学也是从第一个 "Hello Wo ...
- android intent参数是上次的结果,【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动...
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫"hellotest01"的项目. 新建活动FirstActivity,勾选"Generate Layout ...
- 安卓开发之如何利用Intent对象,实现Activity和另一个Activity之间的跳转
1.在一个安卓项目中,如果仅有一个Activity,直接在AndroidManifest.xml配置文件中进行配置,如果有两个Activity,要实现直接的跳转,则需要调用Intent对象,其中主要的 ...
- java写一个android程序_【Android开发笔记】3.编写第一个Android程序
前言 上一节我们通过一个Demo熟悉了Eclipse的基本使用.如何在模拟器和手机中运行以及如何打包成APK,但没具体编写代码,相信很多同学已经按耐不住了吧,这一节我们会动手编写代码来熟悉Androi ...
- 从源码解析-Android中Zygote进程是如何fork一个APP进程的
zygote进程fork子进程 前言 强烈推荐 进程创建流程 APP启动第三方应用 startActivity startService sendBroadcast ContentResolver.q ...
- 一个APP从启动到主页面显示经历了哪些过程?(App启动流程,从点击桌面开始)
本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理.不介绍具体源码,仅仅构建一个大体框架. 原地址链接:http://www.jianshu.com/p/a72c5 ...
最新文章
- Linux里面的正则表达式!
- 聊聊flink的OperatorStateBackend
- python基础教程:操作符
- Java的对象初始化过程
- 【数学基础】算法工程师必备的机器学习--线性模型(下)
- Non-static field ‘func1‘ cannot be referenced from from a static context
- 关于excel中的查找
- 在Ubuntu下rtorrent编译安装笔记
- 三.Mybatis 多对一与一对多
- C/C++回调方式系列之一 函数指针和函数回调模式
- ssm大型分布式商城项目实战视频教程下载java分布式开发教程
- 将数组分成两部分,使得这两部分的和的差最小
- 关于explain plan的使用!
- 安卓开发视频教程!十多家大厂Android面试真题锦集干货整理,写给正在求职的安卓开发
- 跌倒检测_使用姿势估计的跌倒检测
- Halcon——热熔胶质量检测
- 推荐3个网页设计在线配色网站
- Apache HTTP Servcer-Apache服务器下载与Windows系统下安装
- linux 中文语系,linux中语系
- SpringSecurity 学习笔记分享 记录历程开篇
热门文章
- 关于printf()与自增自减运算符结和问题
- python with语句_python中的with语句
- 查询性能优化(使用 Explain 进行分析、优化数据访问、重构查询方式)、存储引擎(InnoDB/MyISAM)
- OS / Linux / 文件描述符以及 file 结构体
- 启明云端基于sigmastarSSD201/202核心板\开发板资料分享地址,另外还可以加入技术沟通群聊,及时解决相关技术问题!
- zblog php 指定分类,zblogPHP 为某些分类指定分类模板,后台版方法
- mysql主主同步配置_MySQL 主主同步配置步骤
- 实时音频抗弱网技术揭秘
- php 替换字符串 图片,PHP替换字符串实现图片自适应屏幕实例代码
- java 可用内存_总可用内存java