【发布时间】:2018-11-26 07:08:06
【问题描述】:
我有一个代码可以使用Intent 共享数据。假设在有人点击后向 FB 分享内容后,它应该检查该应用程序是否安装在该用户的手机中,如果是,那么它应该从应用程序打开特定活动,如果不是,它应该重定向到下载应用程序的链接。
我的代码如下:
btnShareData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isAppInstalled("co.AppName");
imageUri = getResources().getString(R.string.share_data_url) + data.getId();
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, data.getTitle());
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, imageUri);
startActivity(Intent.createChooser(sharingIntent, "Share Via..."));
}
});
public boolean isAppInstalled(String packageName) {
try {
getPackageManager().getApplicationInfo(packageName, 0);
return true;
}
catch (PackageManager.NameNotFoundException e) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getResources().getString(R.string.app_download))));
return false;
}
}
我已经寻找其他答案并实施了这个,但它不起作用。在我的 FB 墙上分享后,如果我点击它,它会在浏览器中打开 share_data_url 链接。
【问题讨论】:
-
您将无法拦截其他应用程序(FB 等)中的点击。
标签: android android-intent share