您的位置:首页 > 移动开发 > Android开发

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

2014-10-31 13:54 375 查看
以前当我们需要跳转的时候会生成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);
}
});

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐