安卓开发跳转其他app指定activity

声明:

                0、原创,转载请备注本文链接

                1、所提供链接内容仅供参考,后果自负

                2、真正的大师,永远都怀着一颗学徒的心


技术点:

                0、什么是隐式Intent和显示Intent                    http://www.2cto.com/kf/201301/183599.html

                1、什么是Acition和Category,有哪些值         http://blog.csdn.net/gf771115/article/details/7827833

                2、setComponent、setAction、setClass、setClassName干嘛的


代码:程序A的B界面要跳转到程序C的D界面


在程序C中配置

        <activity
            android:name="C的包名.D"
            android:exported="true">
            <intent-filter>
                <action android:name="jie.jing.test" />
                <category android:name="jie.jing.t" />
            </intent-filter>
        </activity>


在程序A的B中配置

             Intent intent = new Intent();
            intent.setClassName("C的包名", "C的包名.D");

//              不要设置Categoryaction,否则会跳转到主activity
//          intent.addCategory("jie.jing.t");
//          int launchFlags = Intent.FLAG_ACTIVITY_NEW_TASK
//                | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED;
//          intent.setFlags(launchFlags);
//          intent.setAction("jie.jing.test");
            Bundle bundle = new Bundle();
            bundle.putString("from", "来自测试应用");
            intent.putExtras(bundle);
            startActivity(intent);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: AutoJS可以通过以下代码打开指定AppActivity: ``` app.startActivity({ action: "android.intent.action.VIEW", packageName: "com.example.app", className: "com.example.app.MainActivity" }); ``` 其中,packageName是要打开的App的包名,className是要打开的Activity的类名。可以通过查看AppAndroidManifest.xml文件来获取这些信息。 ### 回答2: 使用Auto.js打开指定Activity的方法如下: 首先,确保已经正确安装并配置好Auto.js。 使用auto()函数启动Auto.js控制台,然后在控制台中执行如下脚本代码: ```javascript launchApp("你要打开的应用的包名"); sleep(2000); // 等待应用启动 var activityName = "你要打开的Activity的完整路径"; app.startActivity({ action: "android.intent.action.MAIN", packageName: "你要打开的应用的包名", className: activityName }); ``` 替换代码中的"你要打开的应用的包名"和"你要打开的Activity的完整路径"为你要打开的应用的包名和Activity的完整路径。 例如,如果要打开微信的聊天页面,包名为"com.tencent.mm",Activity的完整路径为"com.tencent.mm.ui.LauncherUI",则代码应为: ```javascript launchApp("com.tencent.mm"); sleep(2000); // 等待应用启动 var activityName = "com.tencent.mm.ui.LauncherUI"; app.startActivity({ action: "android.intent.action.MAIN", packageName: "com.tencent.mm", className: activityName }); ``` 执行上述代码后,Auto.js会打开指定应用并跳转指定Activity。 ### 回答3: 要使用AutoJS打开指定Activity,可以使用以下代码: ``` var packageName = "com.example.app"; // 替换为目标应用的包名 var activityName = "com.example.app.MainActivity"; // 替换为目标应用的Activityapp.launchPackage(packageName); sleep(1000); // 等待应用启动 var currentPackage = currentActivity(); // 获取当前应用的包名 if (currentPackage !== packageName) { app.launch(packageName); sleep(1000); // 等待应用启动 } shell("am start -n " + packageName + "/" + activityName, true); // 打开目标Activity ``` 请将 `com.example.app` 替换为目标应用的包名,将 `com.example.app.MainActivity` 替换为目标应用的Activity名。此代码会打开目标应用,并跳转指定Activity页面。 需要注意的是,AutoJS本身并不能直接通过Activity名打开应用。上述代码使用了Shell命令 `am start` 来实现打开指定Activity,这意味着需要在手机上开启ADB调试模式。请确保在手机的开发者选项中启用了ADB调试,并且在连接电脑时允许USB调试连接。 此外,还需要在AutoJS的设置中打开'在后台运行'选项,以确保AutoJS在切换应用时能够正常执行代码而不被系统关闭。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值