以前当我们需要跳转的时候会生成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-filter>指明最先启动。
Intent intent=packageManager.getLaunchIntentForPackage("com.goodteacher.yuwen.diandu");
startActivity(intent);
}
});
}
}