根据包名,从一个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);
}
});
}
}
核心代码是:
例如要跳转的应用的包名是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);
}
});
}
}
相关文章推荐
- PackageManger.getLaunchIntentForPackage(String packageName)获取Intent对象启动Activity的坑
- Hibernate学习笔记---通过load和get方法来查询对象(只能根据主键来查询)
- getLaunchIntentForPackage 获取到的为null原因
- android 利用startActivityForResult()方法得到另一个Activity的返回值
- getLaunchIntentForPackage 获取到的为null原因
- 通过startActivityForResult方法来得到Activity的回传值
- getLaunchIntentForPackage 获取到的为null原因
- android通过Intent对象开启一个新的activity
- 【原创】Android学习笔记(8)————详细谈谈intent的startActivityForResult()方法
- [Javascript]xmlhttp的对象方法属性,用for x in obj的方法得到
- Android中级教程(二)之调用另一个Activity---Intent对象的使用!
- 一个Flash中通过AS3代码的Loader对象加载另一个SWF文件,并访问其中的文档类中的方法。
- Andorid 中调用另一个activity-intent 对象的使用
- 从一个activity跳转到另一个activity,利用intent传递数据
- 不同Activity之间传递数据--Bundle对象和startActivityForResult方法的实现
- 从一个A应用发广播,在另一个应用B的广播接收者的onReceive()方法中接收此广播并启动这个应用里的activity
- Android中级教程–调用另一个Activity–Intent对象
- 原始ajax通过xmlHttpRequest对象的send()方法提交数据--Get方式和Post方式
- Android中级教程(二)之调用另一个Activity---Intent对象的使用!
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互