如何生成产品link?
How to generate Product link?
我想分享 url 产品,产品名称给一些使用 what's app 或 facebook 的用户 etc.when 如果安装了应用程序,用户点击该产品应该打开应用程序中的相同产品页面。如果未安装应用程序,它应该导航到播放 store.Now 如何生成可共享的内容 link 以便在用户单击时打开应用程序中的相同页面
这是我的代码
// share on social websites
public void shareItem(String url) {
Log.e("image",productimage);
Picasso.with(getApplicationContext()).load(url).into(new Target() {
@Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("*/*");
i.putExtra(Intent.EXTRA_STREAM, getLocalBitmapUri(bitmap));
i.putExtra(Intent.EXTRA_TEXT, name.getText().toString()+ "\n" +productimage);
startActivity(Intent.createChooser(i, "Share Image"));
}
@Override public void onBitmapFailed(Drawable errorDrawable) { }
@Override public void onPrepareLoad(Drawable placeHolderDrawable) { }
});
}
public Uri getLocalBitmapUri(Bitmap bmp) {
Uri bmpUri = null;
try {
File file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "share_image_" + System.currentTimeMillis() + ".png");
FileOutputStream out = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
//bmpUri = Uri.fromFile(file);
bmpUri=FileProvider.getUriForFile(getApplication(),BuildConfig.APPLICATION_ID+".provider",file);
} catch (IOException e) {
e.printStackTrace();
}
return bmpUri;
}
您应该在清单文件中添加一个意图过滤器。意图过滤器应包含以下元素和属性值;
定义 ACTION_VIEW 意图操作,以便可以从 Google 搜索中找到意图过滤器。
<action android:name="android.intent.action.VIEW" />
我们应该包括 BROWSABLE 类别,以便可以从 Web 浏览器访问。我们还应该有 DEFAULT 类别来响应隐式意图
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
最后,我们应该定义一个或多个标签。这些标签中的每一个都代表一个解析为 activity 的 URI 格式。以下示例表示 test.com Android app.
的简单数据标记
<data
android:host="test.com"
android:scheme="https" />
如何从传入的意图中读取数据
当您定义可以处理特定 URL 的 Intent 过滤器时,系统可以通过该 Intent 过滤器启动您的 activity。
Intent intent = getIntent();
Uri data = intent.getData();
如果您将查询参数作为 test.com?productID=123 传递,您可以从
检索它
data.getQueryParameter("productID");
我想分享 url 产品,产品名称给一些使用 what's app 或 facebook 的用户 etc.when 如果安装了应用程序,用户点击该产品应该打开应用程序中的相同产品页面。如果未安装应用程序,它应该导航到播放 store.Now 如何生成可共享的内容 link 以便在用户单击时打开应用程序中的相同页面
这是我的代码
// share on social websites
public void shareItem(String url) {
Log.e("image",productimage);
Picasso.with(getApplicationContext()).load(url).into(new Target() {
@Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("*/*");
i.putExtra(Intent.EXTRA_STREAM, getLocalBitmapUri(bitmap));
i.putExtra(Intent.EXTRA_TEXT, name.getText().toString()+ "\n" +productimage);
startActivity(Intent.createChooser(i, "Share Image"));
}
@Override public void onBitmapFailed(Drawable errorDrawable) { }
@Override public void onPrepareLoad(Drawable placeHolderDrawable) { }
});
}
public Uri getLocalBitmapUri(Bitmap bmp) {
Uri bmpUri = null;
try {
File file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "share_image_" + System.currentTimeMillis() + ".png");
FileOutputStream out = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
//bmpUri = Uri.fromFile(file);
bmpUri=FileProvider.getUriForFile(getApplication(),BuildConfig.APPLICATION_ID+".provider",file);
} catch (IOException e) {
e.printStackTrace();
}
return bmpUri;
}
您应该在清单文件中添加一个意图过滤器。意图过滤器应包含以下元素和属性值;
定义 ACTION_VIEW 意图操作,以便可以从 Google 搜索中找到意图过滤器。
<action android:name="android.intent.action.VIEW" />
我们应该包括 BROWSABLE 类别,以便可以从 Web 浏览器访问。我们还应该有 DEFAULT 类别来响应隐式意图
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
最后,我们应该定义一个或多个标签。这些标签中的每一个都代表一个解析为 activity 的 URI 格式。以下示例表示 test.com Android app.
的简单数据标记 <data
android:host="test.com"
android:scheme="https" />
如何从传入的意图中读取数据
当您定义可以处理特定 URL 的 Intent 过滤器时,系统可以通过该 Intent 过滤器启动您的 activity。
Intent intent = getIntent();
Uri data = intent.getData();
如果您将查询参数作为 test.com?productID=123 传递,您可以从
检索它data.getQueryParameter("productID");