1、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;
}
}
}
// //前提:知道要跳转应用的包名、类名,如:
// ComponentName componentName = new ComponentName("com.xxx.xxx.xxx", "com.xxx.xxx.xxx.MainActivity");
// intent.setComponent(componentName);
2、在浏览器中点击链接地址开启App
①、H5准备
一般来说这个跳转地址是H5端做的,现在我们没有,所以自己准备了一个
<html>
<meta charset="UTF-8">
<body>
<h1>Test Scheme</h1> <!--自动加载隐藏页面跳转-->
<!--手动点击跳转-->
<a href="hahaha.com://https://m.asia5b.com/goods.php?id=376320">点击打开APP并将id的值传过去</a>
</body>
</html>
②、在AndroidManifest.xml中
在需要启动的manifest文件中,当网页拉启App时要打开的activity的里面添加下面的过滤条件
<activity
android:name=".SplashActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!--======我们H5端需要通过连接跳转到我们的App========-->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="hahaha.com"/>
<!--hahaha.com 是我们要过滤的条件 网页链接的scheme 当然还有port等,这里只用scheme ,还有这里虽然是可以随意定义,但一定要跟H5跳转地址的scheme一样才能拉启我们的App-->
</intent-filter>
<!--======我们H5端需要通过连接跳转到我们的App========-->
</activity>
③、数据接收
在需要启动的activity中
Intent intent = getIntent();
Uri uri = intent.getData();
if(uri!=null){
Log.e("从网页接收的数据===",uri.toString());
}