2016-06-28 8 views
0

나는 app의 컨텐츠를 공유 할 수있는 모든 옵션을 가지고있는 안드로이드 애플 리케이션을 만들고 있습니다.하지만 다른 공유 옵션을 추가하고 싶습니다. 앱 다운로드 링크를 공유하려면 (이 앱 공유) 옵션 생성 메뉴에서 두 옵션을 모두 사용하십시오. 작성 옵션을 두 개 추가 할 수 있는지 또는 두 번째 공유 작업을 추가 할 다른 방법이 있는지 알려주십시오. 다음은 "이 앱 공유"작업에 사용한 코드입니다.android studion에서 두 개의 onCreateOptionsMenu (메뉴 메뉴)를 추가하는 방법

private ShareActionProvider mShareActionProvider; 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    /** Inflating the current activity's menu with res/menu/items.xml */ 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    /** Getting the actionprovider associated with the menu item whose id is share */ 
    mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.share).getActionProvider(); 

    /** Setting a share intent */ 
    mShareActionProvider.setShareIntent(getDefaultShareIntent()); 

    return super.onCreateOptionsMenu(menu); 

} 

/** Returns a share intent */ 
private Intent getDefaultShareIntent(){ 
    Intent intent = new Intent(Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    intent.putExtra(Intent.EXTRA_SUBJECT, "download the app"); 
    intent.putExtra(Intent.EXTRA_TEXT," play.google.com "); 
    return intent; 
} 

menu_main

<item 
    android:title="Share" 
    android:id="@+id/menu_item_share" 
    android:showAsAction="ifRoom" 
    android:icon="@drawable/share" 
    /> 

<item 
    android:id="@+id/share_this_app" 
    android:title="share this app" 
    android:showAsAction="never" 
    android:actionProviderClass="android.widget.ShareActionProvider"/> 
+0

단일 'onCreateOptionMenu'를 사용하면 여러 옵션을 만들 수 있습니다. –

+0

당신은 여러 개의 옵션으로 하나의 menu_main.xml을 사용할 수 있으며, 다른 ID로 다른 항목을 만들고 같은 것을 구현하려면 – Dharmaraj

+0

공유 방법을 설명해 주시겠습니까? –

답변

0

당신은 이런 식으로 뭔가를 시도? 작동하는지 알려주세요.

private ShareActionProvider mShareActionProvider; 
private ShareActionProvider mShareActionProvider2; 

@Override 
public boolean onCreateOptionsMenu(Menu menu) {  
    /** Inflating the current activity's menu with res/menu/items.xml */ 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    /** Getting the actionprovider associated with the menu item whose id is share */ 
    mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider(); 
    mShareActionProvider2 = (ShareActionProvider) menu.findItem(R.id.share_this_app).getActionProvider(); 

    /** Setting a share intent */ 
    mShareActionProvider.setShareIntent(getDefaultShareIntent()); 
    mShareActionProvider2.setShareIntent(getDefaultShareIntent2()); 

    return super.onCreateOptionsMenu(menu); 

} 

/** Returns a share intent */ 
private Intent getDefaultShareIntent(){ 
    Intent intent = new Intent(Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    intent.putExtra(Intent.EXTRA_SUBJECT, "download the app"); 
    intent.putExtra(Intent.EXTRA_TEXT," play.google.com "); 
    return intent; 
} 

private Intent getDefaultShareIntent2(){ 
    /*Your coude here*/ 
} 
+0

가 제대로 작동하지 않습니다.이 앱 옵션을 공유 한 후 앱을 강제 종료하십시오. –

+0

mShareActionProvider2를 선언하는 것을 잊어 버렸습니다 (코드를 수정하여 수정했습니다). 그러나이 문제는 발생하지 않습니다. 죄송합니다. 지금 당장이 일을 도와 드릴 수 없습니다. 집에있을 때만 – Tharkius

+0

고마워요. 해결책을 찾으면 알려주세요. –