分享

intent打开外部程序、setClassName和 ComponentName 区别

 清明幻境 2018-03-23

回忆一下:我之前是怎么使用intent来打开新的Activity的?

intent.setClass(当前组件.this, 目标组件.class);

那如何我要打开外部应用呢?

比如我要通过按钮点击后,打开系统闹钟

intent.setClassName(包名, 包名+activity名);

public void onClick(View v){
    //((Button)v).setText("更改后的按钮文字");

    Intent intent = new Intent();
    intent.setClassName("com.android.deskclock","com.android.deskclock.DeskClock");

    startActivity(intent);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这里写图片描述

除了通过setClassName(),还可以用setComponent()来打开外部程序

            //intent.setClassName("com.android.deskclock","com.android.deskclock.DeskClock");
intent.setComponent(new ComponentName("com.android.deskclock","com.android.deskclock.DeskClock"));
  • 1
  • 2

setClassName内部也是调用的setComponent。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多