Android中启动其它应用的几种方式

1,知道要启动的包名以及要启动的Activity:

Intent intent = new Intent();

/**下面方法的参数分别是指要启动应用的包名及对应的Activity*/

ComponentName cpn= new ComponentName("com.ldm.demo","com.ldm.demo.TextActivity");

intent .setComponent(cpn);

startActivity(intent );

2,只知道应用的包名:

PackageManager packageManager = getPackageManager();

Intent intent=new Intent();

intent =packageManager.getLaunchIntentForPackage("packageName");/**packageName指的就要启动应用的包名*/

if(intent==null){

System.out.println("APP not found!");

}

startActivity(intent);

}

}

3,知道要启动的包名以及要启动的Activity应用启动并传递数据:

  1. ComponentName componentName = new ComponentName(  "com.ldm.demo",    "com.ldm.demo.TestActivity");
  2. Intent intent = new Intent();
  3. Bundle bundle = new Bundle();
  4. bundle.putString("data", data);
  5. intent.putExtras(bundle);
  6. intent.setComponent(componentName);
  7. startActivity(intent);
  8. 4,未知包名的情况下:
  9. /**获得手机内应用的包名,返回一个List集合**/   

    public List<PackageInfo> getAllApps() {

    List<PackageInfo> apps = new ArrayList<PackageInfo>();

    PackageManager packageManager = this.getPackageManager();

    /**获取手机内所有应用 */

    List<PackageInfo> paklist = pManager.getInstalledPackages(0);

    for (int i = 0; i < paklist.size(); i++) {

    PackageInfo pak = (PackageInfo) paklist.get(i);

    /**判断是否为非系统预装的应用  (大于0为系统预装应用,小于等于0为非系统应用) */

    if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {

    apps.add(pak);

    }

    }

    return apps;

    }

    获得包名后,就可以通过获得要启动的包名启动应用了:

    public void launchApp() {

    PackageManager packageManager = this.getPackageManager();

    List<PackageInfo> packages = getAllApps();

    PackageInfo pa = null;

    for(int i=0;i<packages.size();i++){

    pa = packages.get(i);

    /**获得应用名*/

    String appLabel = packageManager.getApplicationLabel(pa.applicationInfo).toString();

    /**获得包名  */

    String appPackage = pa.packageName;

    Log.d(""+i, appLabel+"  "+appPackage);

    }

    Intent intent = packageManager.getLaunchIntentForPackage("jp.co.johospace.jorte");

    startActivity(intent);

    }

时间: 2024-10-22 06:27:20

Android中启动其它应用的几种方式的相关文章

详解实现Android中实现View滑动的几种方式

注: 本文提到的所有三种滑动方式的完整demo:ScrollDemo 1. 关于View我们需要知道的 (1)什么是View? Android中的View类是所有UI控件的基类(Base class),也就是说我们平时所有到的各种UI控件,比如Button.ImagView等等都继承自View类.LinearLayout.FrameLayout等布局管理器的直接父类是ViewGroup,而ViewGroup也有View类派生.总的来说,View是对UI控件的抽象,它代表了屏幕上的一个矩形区域.通

android中填充界面布局的三种方式

改变原来界面布局的三种方式: 1.第一种方式: LayoutInflater li = LayoutInflater.from(this); 具体代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activ

android中给用户提醒的三种方式

一.Toast // 弹出吐司   Toast.makeText(getApplicationContext(), "吐司", 0).show(); 二.对话框:    1.确定取消对话框  public void click1(View view){        //对话框的创建器        AlertDialog.Builder builder = new Builder(this);        builder.setTitle("我是对话框");  

Android中启动第三方应用

主要是通过包名启动第三方应用,获取去包名的方法网上很多,就不多说了. 两种方式启动: 第一种: Intent intent = new Intent(); intent.setClassName("要启动应用的包名", "要启动应用的activity"); startActivity(intent); 第二种: Intent intent = new Intent(); intent = MainActivity.this.getPackageManager().g

Android中设置文本颜色的三种方法及颜色大全

原文:Android中设置文本颜色的三种方法及颜色大全 源代码下载地址:http://www.zuidaima.com/share/1550463694572544.htm 1.利于系统自带的颜色类 如TextView1.setTextColor(Android.graphics.Color.RED); 2.数字颜色表示法 TextView1.setTextColor(0xffff00ff); 3.自定义颜色 TextView1.setTextColor(this.getResources().

如何在Android中启动JAVA程序

本人博客原文:http://hubingforever.blog.163.com/blog/static/17104057920126166411775/ 在Android中启动JAVA程序其实有很多种方式,现总结如下 一.在Android应用程序中发送Intent启动Android应用程序 这个方式最简单,最常用.在此不在累述.关于Intent的更多内容请阅读<Intent技术简介> 二.在shell控制台通过am命令发送Intent来启动Android应用程序 在Android的shell

[Android] Android ViewPager 中加载 Fragmenet的几种方式

Android ViewPager 中加载 Fragmenet的几种方式 1.当fragment里面的内容较少时,可以利用加载view 的方法来进行: private List<View> viewList; //在onCreate方法里面添加  viewList = new ArrayList<View>();        View view1 = View.inflate(this, R.layout.view1, null);        View view2 = Vie

[Android] Android ViewPager 中加载 Fragment的两种方式 方式(二)

接上文: https://www.cnblogs.com/wukong1688/p/10693338.html Android ViewPager 中加载 Fragmenet的两种方式 方式(一) 二.使用Fragment来填充ViewPager Google 官方是建议我们使用Fragment来填充ViewPager的,这样可以更加方便的生成每个Page以及管理 每个Page的生命周期!当然它给我们提供了两个不同的Adapter,他们分别是: FragmentPageAdapter和Fragm

Android-Service中执行新线程的几种方式

大家都知道,service和activity都是运行在UI线程中,超时的数据读取和网络耗时等操作必须新建线程,下面说说service中执行新线程的几种方式. 1.传统的java方式 我们都知道 java中新建线程可以继承Thread类,也可以implement Runnable接口.实质都是实现Runnable的run方法,此处底层应该是jvm识别run这个方法分配并且创建了线程.run方法只是准备好了新线程的资源,要调用 start() native方法才能启动线程. 1 public int