我想通过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