通过意图来共享通过权限拒绝崩溃

时间:2015-08-18 16:57:16

标签: java android android-intent linkedin

我正在尝试通过linkedin app分享内容

这是代码

<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

3 个答案:

答案 0 :(得分:1)

  

这是代码

Android清单中没有<intent>元素,至少根据the documentation

  

我收到此错误

正如错误消息告诉您的那样,您尝试使用的活动未导出。 &#34;未导出&#34;表示第三方应用无法启动该活动。这是LinkedIn应用程序的私人活动;只有LinkedIn应用程序可以启动该活动。

答案 1 :(得分:0)

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

 <intent-filter>
        <action android:name="android.intent.action.SEND" />

        <category android:name="android.intent.category.DEFAULT" />

        <data android:mimeType="image/*" />
    </intent-filter>

答案 2 :(得分:0)

您可能还希望通过官方Linked Android SDK在Android上执行LinkedIn分享,作为官方支持的方法。您可以在此处下载SDK:https://developer.linkedin.com/downloads#androidsdk

有关如何使用它共享内容的详细信息,请访问:https://developer.linkedin.com/docs/share-on-linkedin