Android实现程序之间的跳转

关键代码不多,如下:

<span style="font-size:18px;">public static void goTo(Context context, String packagename) {
	Intent intent = new Intent();
	PackageManager packageManager = context.getPackageManager();
	intent = packageManager.getLaunchIntentForPackage(packagename);
	intent.setAction("android.intent.action.VIEW");
	context.startActivity(intent);
}</span>

可是有时我们可能会想要去跳转到一个我们并不知道它的包名,更不知道我要跳转到的这个Activity的名称,这个时候我们可能会想到的是反编译,其实不用的,我们可以利用Android自身的类来解决这个问题。

首先包名这个比较简单,写一个方法就可以获得。相信做过获取手机应用的Demo的朋友应该都已经会了,这里不作赘述。

获得了包名之后就是我们要去跳转的Activity。如果我们就是想打开这个应用那也不难,上面的代码就已经实现了。不过如果我想要的是打开某一特定页面时,我们可以将以上方法修改成:

public static void goTo(Context context, String packagename) {
	Intent intent = new Intent();
	PackageManager packageManager = context.getPackageManager();
	intent = packageManager.getLaunchIntentForPackage(packagename);
	ComponentName comp = new ComponentName("your package name...", "your activity name(like:com.a.bActivity)");
	intent.setAction("android.intent.action.VIEW");
	intent.setComponent(comp);
	context.startActivity(intent);
}
不过这个方法也不是完美的,因为之前我在小米的手机上测试的时候,可以跳转到一部分界面。当我想跳转到我自己另一程序的其它界面时,这时就会抛一个Exception,不过跳转到启动界面是肯定没有问题的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值