有很多小伙伴会遇上这样的需求,从自己的app页面跳转到其他APP界面,一般情况下都是在自己的主包中跳转到公司其他APP,或者是合作方的APP,如果手机中没有这款APP会下载这款APP 。
今天,博主就教你们如何跳转到其他app。不多说,直接上代码。
public class TiaoZhuan extends AppCompatActivity implements View.OnClickListener {
//首先我们必须要知道要跳转的app的包名,每一个APP的包名都是独立的,纵使是马甲包和主包的包名也是不一样的。
//我们将要跳转的包名填在以下位置。
public static final String APP_PACKAGE_NAME = "com.daiba.wsjr1";
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tiao_zhuan);
//在布局中写一个button按钮,在这里初始化。
bt = (Button) findViewById(R.id.bt_call);
//为按钮设置监听
bt.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//监听被触发是启动跳转的方法。
launchapp(this);
}
//跳转页面的方法
private void launchapp(Context context) {
//判断当前手机是否有要跳入的app
if (isAppInstalled(context,APP_PACKAGE_NAME)){
//如果有根据包名跳转
context.startActivity(context.getPackageManager().getLaunchIntentForPackage(APP_PACKAGE_NAME));
}else{
//如果没有,走进入系统商店找到这款APP,提示你去下载这款APP的程序
goToMarket(context, APP_PACKAGE_NAME);
}
}
//这里是进入应用商店,下载指定APP的方法。
private void goToMarket(Context context, String packageName) {
Uri uri = Uri.parse("market://details?id=" + packageName);
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
context.startActivity(goToMarket);
} catch (Exception e) {
}
}
//这里是判断APP中是否有相应APP的方法
private boolean isAppInstalled(Context context, String packageName) {
try {
context.getPackageManager().getPackageInfo(packageName,0);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
也会有小伙伴问道如果应用商店没有要下载的APP怎么办,博主会在下一篇博客中讲解直接从自己家服务器中下载apk,并安装的方法。