一个apk的activity 跳…
2016-02-26 17:01
393 查看
通常我们用到的只是activity之间的互相跳转和调用,很少会用到apk级别的互相调用。往往在一些应用上会用到,比如一个支付系统,可能会有很多的一系列的程序调用到:彩票系统、订票系统、团购网……全部使用一个支付系统会显的更加专业,也能减少不必要的重复。下面介绍两种方法从一个apk启动另一个apk。两个互相调用的项目是:demoapk1和demoapk2 demoapk2是被调用的,我们调用它的Pay_Activity.java所有的界面都是最简单的这是第一个demoapk1这是demoapk2的主要activity这是apk2点击后跳转到结果(同一个apk中的跳转)这是apk1跳转到apk2的得到的结果(注意上方apk的title)第一种:ComponentName()使用ComponentName()可以跳转到任何一个activity,不论是不是main
activity。也不必写修改被调用的apk的AndroidManifest.xml任何内容,如下:
activity。也不必写修改被调用的apk的AndroidManifest.xml任何内容,如下:
package com.hooy.apk1; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; public class Demoapk1Activity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onTouchEvent(MotionEvent event) { ComponentName componetName = new ComponentName( //这个是另外一个应用程序的包名 "com.hooy.apk2", //这个参数是要启动的Activity "com.hooy.apk2.Pay_Activity"); // Intent intent= new Intent("chroya.foo"); Intent intent= new Intent(); //我们给他添加一个参数表示从apk1传过去的 Bundle bundle = new Bundle(); bundle.putString("arge1", "这是跳转过来的!来自apk1"); intent.putExtras(bundle); intent.setComponent(componetName); startActivity(intent); return super.onTouchEvent(event); } }ComponentName的参数已经写的比较详细了
package com.hooy.apk2; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class Pay_Activity extends Activity { @Override ae3b protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //改变文字内容,标志这是从activity跳转过来的 TextView texView= (TextView) findViewById(R.id.text1); texView.setText("我来自其他activity"); Intent intent= getIntent(); String value=intent.getStringExtra("arge1"); if(value!=null&&!value.equals("")){ texView.setText(value);//这里将显示“这是跳转过来的!来自apk1” }else{ System.out.println("空的参数"); } } }第一种方法也是比较简单。第二种方法Intent+AndroidManifest.xml顾名思义,此方法是用Intent和修改AndroidManifest.xml达成的。intent就是我在上面第一个Demoapk1Activity中注释掉的内容要修改的AndroidManifest.xml是demoapk2中的。
相关文章推荐
- android 四舍五入
- android achartengine&…
- android饼状图
- GridView的一些特殊属性:
- 注释转换项目
- android …
- JDK环境变量的配置
- pull解析
- android 上传图片至服务器
- android videoview&nbs…
- android gallery…
- android 设置dialog样…
- android 手势(gesture…
- 差集与交集
- android 实现小窗口播放
- 给android的LinearLayout(里面嵌套…
- 自定义TabHost,TabWidget样式 .
- android 百度地图 &nbsp…
- android 简单截图功能…
- android 保存bitmap到SD卡&nb…