根据包名,从一个activity跳到另一个activity。Intent对象通过PackageManger.getLaunchIntentForPackage的方法得到。

以前当我们需要跳转的时候会生成Intent对象,一般Intent对象的生成都是通过new Intent()来得到。下面讲解一种得到Intent对象的方式通过PackageManager的对象packageManager,调用getLaunchIntentForPackage来得到。

核心代码是:

例如要跳转的应用的包名是com.example.test.yuwen

PackageManager packageManager;

 Intent intent=packageManager.getLaunchIntentForPackage("com.example.test.yuwen");
startActivity(intent);


下面看完整代码,就是主布局文件放一个button,点击button的时候进行跳转。

MainActivity.java


package com.example.testintent;


import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {


Button button; 
PackageManager packageManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        packageManager=getPackageManager();
       
        button=(Button) findViewById(R.id.buttonId);
        button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
//参数为要起到的应用的包名,但是这个应用需要有一个最先启动的activity,即需要有个activity加上 指明最先启动。
Intent intent=packageManager.getLaunchIntentForPackage("com.goodteacher.yuwen.diandu");
    startActivity(intent);
}
});
    }


}

你可能感兴趣的:(android基础,工作中用到的知识汇总)