2016-06-02 3 views
2

내 모바일에서 ShareActionProvider 버튼을 클릭하려고하지만 완전히 응답하지 않습니다. 문자 메시지 또는 이메일 전송과 같은 공유 응용 프로그램이 없습니다. 내 xml 파일에서 ShareActionProvider를 menu_share로 레이블을 지정했으며 onOptionsItemSelected 메소드를 사용하여 모든 클릭에 응답합니다.ShareAction Provider를 클릭 할 수 없습니다.

자바

import android.support.v7.widget.ShareActionProvider; 

public class MainActivityFragment extends Fragment{ 
     ArrayAdapter<String> mForecastAdapter; 
     //String[] parsedWeatherData; 
     ShareActionProvider provider; 


public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     inflater.inflate(R.menu.forecastfragment, menu); 
     MenuItem item = menu.findItem(R.id.menu_share); 
     provider = (ShareActionProvider)  
     MenuItemCompat.getActionProvider(item); 
    } 

public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.menu_share: 
       Log.d("Weather", "Is menu share clicked"); 
       doShare(); 
       break; 
      default: 
       break; 
     } 
     return true; 
    } 

public void doShare() { 
     String message = oneDayWeather; 

     // populate the share intent with data 


     Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setType("text/plain"); 
     intent.putExtra(Intent.EXTRA_TEXT, message); 
     provider.setShareIntent(intent); 
    } 

XML

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:bwq="http://schemas.android.com/apk/res-auto" 
    > 

    <item 
     android:id="@+id/menu_share" 
     android:title="@string/menu_share" 
     bwq:actionProviderClass="android.support.v7.widget.ShareActionProvider" 
     bwq:showAsAction="always"/> 


</menu> 

어떤 아이디어?

답변

0

신경 쓰지 마라. 나는 그것을 풀었다. 이 버전의 ShareActionProvider는 제공자를 얻은 직후에 setShareIntent 메소드를 설정 한 경우에만 작동합니다. 예 :

 MenuItem item = menu.findItem(R.id.menu_share); 
     provider = (ShareActionProvider) MenuItemCompat.getActionProvider(item); 
     provider.setShareIntent(getDefaultShareIntent());