要是两个不同的应用程序之间
从一个应用程序的activity跳到另外一个应用程序的一个activity中 还要携带数据该怎么写
高人帮忙。。
从一个应用程序的activity跳到另外一个应用程序的一个activity中 还要携带数据该怎么写
高人帮忙。。
解决方案 »
- 奇怪了Eclipse找不到SDK 创建AVD时target为灰色
- 关于Android开发 eclipse导出.apk的密钥文件的几个疑问
- 若购真机测试的问题?
- 虚拟机启动挺慢,能否只启动一次,以后都可调试呢?
- 请问怎么在不继承Activity的类里使用Resources
- android 中 AlertDialog.Builder监听事件
- 设计安卓登录客户端的问题,求助~~~~~~~
- 产生点击事件
- 类似android新闻客户端的例子
- android 蓝牙连接问题
- Android TCP Socket真机上连接失败
- android2.3.4(linux2.6.36)下, menuconfig 如何调出来?
至于数据传递 ,没具体做过 ,但应该用bundle可行的 。
和一个应用里面的跳转一样
可以用shareuseid来实现!具体你可以看一下!
public void onClick(View v) {
Intent intent = new Intent();
intent.setClassName("另外一个apk中的包名","包名.类名")
startActivity(intent);
}
我也是用的这个来弄的
但是要跳转到另外一个应用程序的activity里需要把intent家一个FLAG_ACTIVITY_NEW_TASK
但是加了以后跳转到的该页面 里的一些操作出问题了
我查了下 好像需要把activity添加任务什么的 让它们在同一个任务中
不是很懂 谁能讲讲
具体没做过启动另一个应用程序中的activity的程序
<action android:name="xxx" />
然后在主调activity中,Intent intent = new Intent(); intent.setAction("xxx");
携带数据可以用intent的putExtra()方法,或者先将数据放入bundle中,然后用
intent.putExtras(bundle)。最后startActivity(intent)就oK了
intent.setClass(context,跳转Activity名.class);
intent.putExtra(key,value);
startActivity(intent);
那么在B中更改Manifest的activity的加载模式为singleInstance试试。
<activity
android:name="XXX"
android:launchMode="singleInstance">
</activity>
然后在A的intent中通过flag请求,也就是你那个NEWTASK..之所以这样可能原因是:android的进程比较特殊,是由系统托管,两个进程之间通信走的代理模式的RPC,由系统自动进行了,对外隐藏了进程细节,而对开发者来说需要操作的就是task。这种加载模式的原理就是单独分出来一个tast栈执行newActivity。但这么做好不好使我也不知道。。
如果在B的task栈顶显示newActivity,当BACK的时候,估计就会出问题了,这时侯是BACK到B的task还是A的task。
所以单独分出来一个task这样万无一失。
intent.setComponent(new ComponentName(pkgName, activityName));
//pkgName 应用程序的包名
//activityName 应用程序中的activity名字
intent.putExtra(key,value);//传递数据
startActivity(intent);
Intent intent = new Intent();
intent.setClassName("com.tope.samples.intent.simple",
"com.tope.samples.intent.simple.TestActivity");
intent.putExtra(key,value);
startActivity(intent);