2016-06-28 85 views
0

我正在創建一個Android應用程序,我已經準備好添加一個共享選項來共享該應用程序的內容,但我想添加另一個可以選擇的共享選項共享應用程序下載鏈接(共享此應用程序),這兩個選項使用創建選項菜單,任何人都可以告訴我,如果有可能添加兩個創建選項或有其他方式添加第二次共享操作。 以下是我用於「分享此應用」操作的代碼。如何在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

謝謝你的努力,請讓我知道,如果你找到解決辦法。 –