通过意图分享linkedin崩溃与许可拒绝



我想通过linkedin应用程序分享东西

代码

<activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/title_activity_main_activity2"
            android:launchMode="singleTop"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@style/NoActionBarAppTheme">
            <intent
                android:action="android.intent.action.SEND"
                android:targetPackage="com.linkedin.android"
                android:targetClass="com.linkedin.android.home.v2.UpdateStatusActivity"
                />
            </activity>
我的意图代码是
 if(Utilities.doesPackageExist(getActivity(), "com.linkedin.android"))
                {
                    Intent shareIntent = new Intent(Intent.ACTION_SEND);
                    shareIntent.setClassName("com.linkedin.android",
                            "com.linkedin.android.home.v2.UpdateStatusActivity");
                    shareIntent.setType("text/plain");
                    shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareText);
                    startActivity(shareIntent);
                }
                else
                {
                    Toast.makeText(getActivity(), "Please install the LinkedIn app to share your result", Toast.LENGTH_LONG).show();
                }

我得到这个错误

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.SEND typ=text/plain flg=0x1 cmp=com.linkedin.android/.home.v2.UpdateStatusActivity (has clip) (has extras) } from ProcessRecord{538be710 4331:com.devicebee.workedin/u0a98} (pid=4331, uid=10098) not exported from uid 10131

代码

Android清单中没有<intent>元素,至少根据文档是这样的。

我得到这个错误

正如错误消息告诉您的那样,您试图使用的活动没有导出。"未导出"意味着第三方应用程序无法启动该活动。这是领英应用的一项私人活动;只有LinkedIn应用程序可以启动该活动。

将此代码设置在android manifest文件中的Application标签中。

 <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent-filter>

您可能还希望通过官方链接Android SDK作为官方支持的方法在Android上执行LinkedIn共享。您可以在这里下载SDK: https://developer.linkedin.com/downloads#androidsdk

关于如何使用它共享内容的详细信息可在这里获得:https://developer.linkedin.com/docs/share-on-linkedin

最新更新