1***@qq.com
1***@qq.com
  • 发布:2016-12-28 14:47
  • 更新:2016-12-28 22:50
  • 阅读:1750

关于app和第三方程序相互调用的问题

分类:HTML5+

1、不管是离线打包生成的app还是云端打包生成的app,都可以用plus.runtime.launchApplication来调用第三方的app,这个我测试过,没问题。
2、现在遇到的问题,如果是第三方程序要调用我们编写的app。官方给的相互调用的方法是plus.runtime.arguments,看了一下官方的api很明显更适合两个用h5开发的app之间进行相互调用。
考虑到用原生开发的程序去调用就好麻烦。查了下安卓原生调用第三方app的代码如下:
Intent intent = new Intent();
intent.setComponent(new ComponentName(pkg, cls));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
如果说我要用android原生的方法来调用的话。分两种情况,调用云端打包和调用离线打包的。
那么问题来了。这两种情况下,new ComponentName(pkg, cls)中的包名和主activity分别改怎么给呢?

2016-12-28 14:47 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

包名是io.dcloud.appid,类名为io.dcloud.PandoraEntry.

public class MainActivity extends AppCompatActivity {  

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  

        Button btn = (Button)findViewById(R.id.btnShow);  
        btn.setOnClickListener(new View.OnClickListener(){  
            public void onClick(View v){  
                Intent intent = new Intent();  
                intent.setComponent(new ComponentName("io.dcloud.HBuilder", "io.dcloud.PandoraEntry"));  
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
                getApplicationContext().startActivity(intent);  
            }  
        });  
    }  
}
  • 云飞狼舞

    您好,请教一下:io.dcloud.PandoraEntry是h5+ APP的主activity,那么其他页面的activity是什么呢?

    2017-02-28 12:25

该问题目前已经被锁定, 无法添加新回复