zoukankan      html  css  js  c++  java
  • 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,不过跳转到启动界面是肯定没有问题的。

  • 相关阅读:
    redis基本操作 —— hash
    redis基本操作 —— string
    redis —— linux下源码安装
    zookeeper c api 安装 & 连接 zookeeper
    wpa_supplicant移植(2.9版本)
    hostapd移植(2.6版本为例)
    hostapd移植(2.7版本)
    使用MKdocs搭建个人主页并关联到GithubPages上
    yolov5的yaml文件解析
    RANSAC——(RANdom SAmple Consensus(随机抽样一致))
  • 原文地址:https://www.cnblogs.com/fengju/p/6336133.html
Copyright © 2011-2022 走看看