android - Android Facebook 공유 : 활동을 찾을 수 없습니다.

기사 출처 android facebook android-intent android-activity

Facebook에 데이터를 게시하는 기능에 문제가 있습니다.

    public void postData() {
    try {
        Intent i = new Intent(Intent.ACTION_SEND);
        i.setClassName("com.facebook.katana",
                "com.facebook.katana.ShareLinkActivity");
        i.setType("text/*");
        i.putExtra(android.content.Intent.EXTRA_TEXT, "http://sample_url.com");
        startActivity(i);
    } catch (Exception e) {
        Intent i= new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse("http://sample_url.com));
        startActivity(i);
    }
}


com.facebook.katana.ShareLinkActivity 활동을 실행할 수 없다는 정보를 얻을 때마다 Android 매니페스트에 코드를 추가해야합니다. 휴대폰에 Facebook 애플리케이션이 설치되어 있습니다.

AndroidManifest.xml에서 :

    <activity android:name="com.facebook.katana.ShareLinkActivity" >
    </activity>


LogCat의 예외 :

01-30 14:46:00.903: E/AndroidRuntime(11626): FATAL EXCEPTION: main
01-30 14:46:00.903: E/AndroidRuntime(11626): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.facebook.katana/com.facebook.katana.ShareLinkActivity}; have you declared this activity in your AndroidManifest.xml?
01-30 14:46:00.903: E/AndroidRuntime(11626):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1634)
01-30 14:46:00.903: E/AndroidRuntime(11626):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1510)
01-30 14:46:00.903: E/AndroidRuntime(11626):    at android.app.Activity.startActivityFromChild(Activity.java:3531)
01-30 14:46:00.903: E/AndroidRuntime(11626):    at android.app.Activity.startActivityForResult(Activity.java:3283)
01-30 14:46:00.903: E/AndroidRuntime(11626):    at android.app.Activity.startActivity(Activity.java:3370)
마지막으로이 코드가 작동하도록했습니다.

        Intent sharingIntent = new Intent(Intent.ACTION_SEND);
        sharingIntent.setType("text/plain");
        sharingIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
        sharingIntent.putExtra(Intent.EXTRA_TEXT, "Text...");
        sharingIntent.setPackage("com.facebook.katana");
        startActivity(sharingIntent);


주요 포인트는 setPackagesetType입니다. 이제 Android는 Facebook 패키지에서 올바른 활동을 선택합니다.

이 질문에 대해 Stack Overflow에서 비슷한 토론을 찾았습니다: https://stackoverflow.com/questions/14603576/

관련 기사
android - Android 앱 디자인을위한 PSD 파일 크기 및 해상도
android - Eclipse에서 내 보낸 APK 충돌
android - Android에서 앵커 태그를 클릭 가능하게 만드는 방법
android - Android Emulator에서 Google Map V2를 표시하는 방법은 무엇입니까?
php - PHP 서버에서 Android 인앱 결제 서명 확인
android - ListView 행보기에 CheckBox를 추가하면 행을 클릭 할 수 없습니다.
android - SimpleAdapter에서 textview를 숨기는 방법
android - AndEngine AnimatedSprite가 표시되지 않음
java - ksoap2 SOAP를 통해 복잡한 객체 배열 수신
android - Android : Ant 명령 줄 빌드 중에 버전 정보를 전달하는 방법은 무엇입니까?