04 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 06

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】SocialConnector使ってるんだけど、Android8でシェアできないよー!ってなってる人が他にもいますか? 

GWですね!
皆さん何連休ですか?
僕は今日明日は仕事しときます。

UnityでSocial-Connectorを使ってる方、結構います?
うちは使ってます。

広告のSDKはアプデされるとメールとかきますが、SocialConnectorとかって気づかないこと多いですよね。

そんな中Android8にするとスクショとかを含めたシェアができないよー!
との声が!

調べてみるとこんなエラーが吐かれています。

E/Unity: AndroidJavaException:
android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.xxx.xxxx/files/image.png exposed beyond app through ClipData.Item.getUri()
android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.xxx.xxxx/files/image.png exposed beyond app through


なんかエラーが出てるじゃないですか。

で・・・・色々調べてみたのですが、まぁめんどそうな感じ!

と思ってSocial-Connectorの公式みたら、なんとアプデしてるじゃないですか!
最新バージョンは「v0.5.0」です。

https://github.com/anchan828/social-connector

Android API Level23まではファイルURIを含むパスで、ファイルの共有ができてたのが、AndroidN以降はパーミッションの変更により共有できなくなったというのが原因のようです。

対処法としては、今まで「android.net.Uri.fromFile」を使用していたのを「FileProvider」を使用することで直るようです。

こちらの対応はSocial-Connectorの最新のバージョンで組み込まれています。

多少手順があるので、簡単に説明。

①Social-Connectorを最新にする。

②AndroidManifestのapplicationタグの内側に次のタグを入れる。
    <!-- Add fileprovider for android n -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="【そのアプリのバンドル(パッケージ)ネーム】.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
</provider>


これを行うことで、Android8端末でもSocialConnectorで無事スクショを共有することができました!

ということで、これにてあでゅ~ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/498-f9770937
この記事にトラックバックする(FC2ブログユーザー)