Android中从一个APK跳转到另一个APK的指定页面
答案:2 悬赏:80 手机版
解决时间 2021-02-07 11:09
- 提问者网友:你挡着我发光了
- 2021-02-07 02:32
是直接跳转到指定的页面,不是进入APK开始的页面
最佳答案
- 五星知识达人网友:渊鱼
- 2021-02-07 04:11
界面的转跳都是由Intent来实现的
这个Intent,有两种方式,一种叫显示意图,一种叫隐式意图
你调用其它APK的界面,那只能通过隐式意图去激活了
比如说,你要调用系统的相机拍照,或者调用文件管理器选择文件,这些都是通过隐式意图来实现的
这个Intent,有两种方式,一种叫显示意图,一种叫隐式意图
你调用其它APK的界面,那只能通过隐式意图去激活了
比如说,你要调用系统的相机拍照,或者调用文件管理器选择文件,这些都是通过隐式意图来实现的
全部回答
- 1楼网友:傲气稳了全场
- 2021-02-07 04:51
以下是apk跳转的代码示例: private void packagein() { // todo auto-generated method stub if(isappinstalled(act, packagename)==true){ btnopenmain(packagename); }else{ btndownmain(); } } public boolean isappinstalled(context context, string packagename) { final packagemanager packagemanager = context.getpackagemanager(); list<packageinfo> pinfo = packagemanager.getinstalledpackages(0); list<string> pname = new arraylist<string>(); if (pinfo != null) { for (int i = 0; i < pinfo.size(); i++) { string pn = pinfo.get(i).packagename; pname.add(pn); } } return pname.contains(packagename); } private void btndownmain() { btndown.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { uri uri = uri.parse(downuri); intent intent = new intent(intent.action_view, uri); startactivity(intent); } }); } private void btnopenmain(final string packagename) { btndown.setbackgroundresource(r.drawable.qx_btn_off); btndown.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { startsevenstarapp(packagename); } }); } public void startsevenstarapp(string packagename) { packageinfo pi; try { pi = getpackagemanager().getpackageinfo(packagename, 0); intent resolveintent = new intent(intent.action_main, null); resolveintent.setpackage(pi.packagename); packagemanager pmanager = getpackagemanager(); list apps = pmanager.queryintentactivities(resolveintent, 0); resolveinfo ri = (resolveinfo) apps.iterator().next(); if (ri != null) { packagename = ri.activityinfo.packagename; string classname = ri.activityinfo.name; intent intent = new intent(); componentname cn = new componentname(packagename, classname); intent.setcomponent(cn); intent.addflags(intent.flag_activity_new_task);//传递的数据 intent.putextra("clientid", clientid); intent.putextra("sign", sign); startactivity(intent); // finish(); } } catch (exception e) { e.printstacktrace(); } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯