【问题标题】:Cannot share via bluetooth....file not sent error无法通过蓝牙共享....文件未发送错误
【发布时间】:2015-09-04 07:14:53
【问题描述】:

这是我的代码:

List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent sharingIntent = new  Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
PackageManager pm =getApplicationContext().getPackageManager();
List<ResolveInfo> activityList =   pm.queryIntentActivities(sharingIntent, 0);

for(final ResolveInfo app : activityList) {
    String packageName = app.activityInfo.packageName;
    Intent targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND);
    targetedShareIntent.setType("text/plain");
    targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "share");

    if(TextUtils.equals(packageName, "com.facebook.katana")){
        targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http:your link");
    } else {
        targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT,  Fragmentactivity.songpaths.get(indexfordelete));
        targetedShareIntent.putExtra(Intent.EXTRA_SUBJECT, " Thirukural Version 1.7.2 !");
    }
    targetedShareIntent.setPackage(packageName);
    targetedShareIntents.add(targetedShareIntent);
}

Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Share Application  your app name ");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));
startActivity(chooserIntent);

我想先通过蓝牙分享它,但它不起作用。我收到错误 ~File not sentFragmentactivity.songpaths.get(indexfordelete) 是我要分享的文件的路径。

【问题讨论】:

  • 你添加使用权限了吗?
  • 是的..我添加了权限。但是我搜索了你需要通过字节传递才能通过蓝牙共享的内容。我不知道该怎么做
  • logcat 捕获每个调试操作,点击发送时复制部分
  • 你能建议我在 logcat 上放的 wat 代码,以便我们更容易理解吗?

标签: java android android-intent bluetooth share


【解决方案1】:

在这里试试这个代码我分享一个文本,你可以分享你想要的:

List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent sharingIntent = new      Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
PackageManager pm =v.getContext().getPackageManager();
List<ResolveInfo> activityList =   pm.queryIntentActivities(sharingIntent, 0);

for(final ResolveInfo app : activityList) {
    String packageName = app.activityInfo.packageName;
    Intent targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND);
    targetedShareIntent.setType("text/plain");
    targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "share");

    if(TextUtils.equals(packageName, "com.facebook.katana")){
        targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http:your link");
    } else {
        targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, strLink);
        targetedShareIntent.putExtra(Intent.EXTRA_SUBJECT, " app version");
    }
    targetedShareIntent.setPackage(packageName);
    targetedShareIntents.add(targetedShareIntent);
}

Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Share Application  your app name ");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));
startActivity(chooserIntent);

【讨论】:

  • 发送的是html文件而不是.mp3文件?
  • 意图分享=新意图(意图.ACTION_SEND); share.setType("音频/*"); share.putExtra(Intent.EXTRA_STREAM,Uri.parse("file:///"+mypath)); startActivity(Intent.createChooser(share, "分享声音文件"));试试这个@developer
  • 否则这将帮助你 String sharePath = Environment.getExternalStorageDirectory().getPath() + "/Soundboard/Ringtones/custom_ringtone.ogg"; Uri uri = Uri.parse(sharePath);意图共享 = 新意图(意图.ACTION_SEND); share.setType("音频/*"); share.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(share, "分享声音文件")); @开发者
  • Thanx,但他们都没有工作......但是从其他帖子我得到它的工作......仍然thanx帮助我:)
猜你喜欢
  • 2011-09-01
  • 2012-06-11
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
相关资源
最近更新 更多