13

वर्तमान में मेरे ऐप में, मैं अपनी एचटीएमएल सामग्री को प्रदर्शित करने के लिए एक वेबव्यू का उपयोग कर रहा हूं (जो उम्मीद के अनुसार संपत्ति फ़ोल्डर के माध्यम से आ रहा है, बस स्पष्ट करने के लिए)। हालांकि, मैंने ईमेल कार्यक्षमता के माध्यम से एकीकृत एकीकृत किया है और मैं पसंद के चुने हुए ईमेल में फोकस में सामग्री के बजाय विषय निकाय और शीर्षक को शून्य के रूप में देखता हूं। (कहें कि जब मैं ईमेल विकल्प के माध्यम से अपना प्रेषण चुनता हूं तो मैं जीमेल चुनता हूं। मैं सामग्री के शरीर को वेबव्यू में सामग्री के बजाए शून्य के रूप में देखता हूं)। किसी ने भी ऐसा किया है या कोई विचार है, इसके बारे में कैसे जाना है? मेरे EmailUtils वर्ग : यहाँ मेरी कोड हैमैं ईमेल के माध्यम से वेबव्यू सामग्री निकाय कैसे भेजूं?

public class EmailUtils { 
    public static String FEEDBACK_EMAIL = "[email protected]"; 

    public static void shareNewsViaEmail(final Fragment fragment, final String emailSubject, final String emailBody){ 
     shareNewsViaEmailEx(fragment.getActivity(), emailSubject, emailBody); 
    } 

    public static void shareNewsViaEmailEx(final Context context, final String emailSubject, final String emailBody){ 
     final Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setType("text/html"); 
     final String subjectAppendText = " " + context.getResources().getString(R.string.email_subject_append); 
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSubject + subjectAppendText); 
     emailIntent.putExtra(Intent.EXTRA_TEXT, emailBody); 
     context.startActivity(Intent.createChooser(emailIntent, "Send Email")); 
    } 

} 

भाग मेरे टुकड़ा वर्ग:

//The button where it's called: 
@Override 
    public void onMenuItemClicked(final int position) { 
     mOptionsMenuHelper.hideMenu(); 
     menuButton.setSelected(false); 
     switch (position) { 

     case OptionMenuItems.EMAIL_STORY_POSITION: 
      emailArticle(); 
      break; 
     } 
    } 

private void emailArticle() { 
     final Fragment fragment = mArticleAdapter.getFragment(mArticlePager.getCurrentItem()); 

     if (fragment instanceof ArticleFragmentWebView) { 
      final String emailSubject = ((ArticleFragmentWebView)fragment).getHeadline(); 
      final String articleBody = ((ArticleFragmentWebView)fragment).getArticleBody(); 
      final String newLine = getResources().getString(R.string.new_line); 
      final String disclamer = getResources().getString(R.string.intellectual_property_info); 
      final String emailBody = articleBody + newLine + disclamer; 
      EmailUtils.shareNewsViaEmail(this, emailSubject, emailBody); 
     } 
    } 

मैं एक ही के बारे में कैसे जाते हैं?

धन्यवाद! यहाँ articlefragmentwebview है:

public class ArticleFragmentWebView extends AbsBaseArticleFragment { 
    public static final String TAG_ARTICLE_FRAGMENT = "ArticleFragment"; 
    public static final String ARTICLE_POSITION = "article_position"; 
    public static final String CATEGORY_CODE = "article_code"; 
    private int mPositionInPager; 
    private ArticleWebViewClient articleWebViewClient; 

    @Override 
    public void onActivityCreated(final Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     mPositionInPager = getArguments().getInt(ARTICLE_POSITION); 
    } 

    @Override 
    public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { 
     final View view = super.onCreateView(inflater, container, savedInstanceState); 
     articleWebViewClient = new TechnicArticleWebViewClient(getActivity(), view); 
     return view; 
    } 

    @Override 
    public void onLoading() { 
      final View fragmentView = getView(); 
      if (fragmentView != null) { 
       LayoutUtils.showLoading(fragmentView, ""); 
      } 
    } 
    @Override 
    public void showLoading(View view) { 
      LayoutUtils.showLoading(view, ""); 
    } 
    @Override 
    public void showResults(final Uri uri) { 
      LayoutUtils.showResults(getView(), R.id.news_body); 
    } 
    @Override 
    public void setTextSize(TextSize textSize) { 
     articleWebViewClient.increaseFontSize(); 
    } 
    @Override 
    public void showNoResults(final Uri uri) { 
    // LayoutUtils.showNoResult(getView(), R.id.details_container); 
    } 
    @Override 
    public void showRelatedDivider() { 

    } 
    @Override 
    protected void getRelatedQuotes() { 

    } 
    @Override 
    public Uri onCreateContentUri() { 
     final String articleCode = getArguments().getString(ARTICLE_CODE); 
     return Uri.withAppendedPath(NewsContentProvider.ARTICLE_MYNEWS_URI, articleCode); 
    } 




    @Override 
    public void onStart() { 
     super.onStart(); 
    } 

    public int getPositionInPager() { 
     return mPositionInPager; 
    } 

    @Override 
    protected int getFragmentLayoutId() { 
     return R.layout.fragment_article_briefcase; 
    } 

    @Override 
    protected int getArticleTextViewId() { 
     return R.id.news_body; 
    } 

    @Override 
    protected int getFlowTextViewId() { 
     return R.id.tv; 
    } 

    @Override 
    protected int getHeaderTextViewId() { 
     return R.id.headline; 
    } 

    @Override 
    protected int getMetadataTextViewId() { 
     return R.id.timestamp_and_source; 
    } 

    @Override 
    public void onMenuItemClicked(final int position) { 
     //Do nothing 
    } 
    @Override 
    public boolean setViewValue(final View view, final Cursor cursor, final int columnIndex) { 
     if (view.getId() != R.id.news_body)   // paranoia 
      return true; 

     String article = cursor.getString(columnIndex); 
     String storyId = cursor.getString(cursor.getColumnIndex(Briefcase.Columns.ID)); 
     return articleWebViewClient.setArticle(article, storyId); 
    } 
} 

और यहाँ getarticlebody के लिए मॉडल वर्ग है:

public class Briefcase { 


     public static final String TEXT_TYPE = "TEXT"; 
     public static final String HTML_TYPE = "Html"; 
     public static final String PDF_TYPE = "PDF"; 

    public static class Columns { 

     public static final String ID = "Id"; 
     public static final String NAME = "Name"; 
     public static final String SAVED_DATE = "SavedDate"; 
     public static final String TYPE = "DocumentType"; 
     public static final String DOCUMENT_DATE = "DocumentDate"; 
     public static final String SOURCE = "DocumentSource"; 
     public static final String DOCUMENT_LINK = "DocumentLink"; 
     public static final String DOCUMENT_ID = "DocumentId"; 
     public static final String IS_READ = "IsRead"; 
     public static final String ARTICLE_BODY = "ArticleBody"; 
     //PrimaryRic 
    } 

    public Briefcase(String id, String articleId, String name, String docDate, String source, String docType){ 
     mId = id; 
     mDocumentId = articleId; 
     mName = name; 
     mPNACDate = docDate; 
     mDocumentSource = source; 
     mDocumentType = docType; 
     mIsRead = "false"; 
     mSavedDate = new Date(); 
    } 

    @SerializedName(Columns.ID) 
    private String mId; 

    @SerializedName(Columns.NAME) 
    private String mName; 

    @SerializedName(Columns.SAVED_DATE) 
    private Date mSavedDate; 

    @SerializedName(Columns.TYPE) 
    private String mDocumentType; 

    @SerializedName(Columns.DOCUMENT_DATE) 
    private String mPNACDate; 

    @SerializedName(Columns.SOURCE) 
    private String mDocumentSource; 

    @SerializedName(Columns.DOCUMENT_ID) 
    private String mDocumentId; 

    @SerializedName(Columns.IS_READ) 
    private String mIsRead; 

    public String getId() { 
     return mId; 
    } 

    public String getName() { 
     return mName; 
    } 

    public Date getSavedDate() { 
     return mSavedDate; 
    } 

    public String getDocumentType() { 
     return mDocumentType; 
    } 

    public String getPNACDate() { 
     return mPNACDate; 
    } 

    public String getDocumentSource() { 
     return mDocumentSource; 
    } 

    public String getDocumentLink() { 
     String docLink = null; 
     if(StringUtils.isEmpty(mDocumentSource)) 
      return docLink; 

     return mDocumentId; 

    } 

    public String getIsRead() { 
     return mIsRead; 
    } 

    public ContentValues toContentValues() { 
     if (hasValidData()) { 
      final ContentValues values = new ContentValues(); 
      values.put(Columns.ID, mId); 
      values.put(Columns.NAME, decodeHeadline()); 
      values.put(Columns.SAVED_DATE, mSavedDate.getTime()); 
      values.put(Columns.DOCUMENT_LINK, getDocumentLink()); 
      values.put(Columns.DOCUMENT_DATE, DateUtils.convertFromUTCStringToLong(mPNACDate)); 
      values.put(Columns.SOURCE, mDocumentSource); 
      values.put(Columns.IS_READ, mIsRead); 
      values.put(Columns.TYPE, mDocumentType); 
      values.put(GenericColumns.USER_ID, SharedPreferencesManager.getInstance().getLoginUsername()); 
      return values; 
     } 
     return null; 
    } 

    private String decodeHeadline() { 
     String decodedHeadline = mName; 
     try { 
      decodedHeadline = URLDecoder.decode(mName, NetworkUtils.Values.UTF_8); 
     } catch (final Exception e) { 
      e.printStackTrace(); 
     } 
     return decodedHeadline; 
    } 

    public ContentValues toContentForDatabaseUpdateValues() { 
     if (hasValidData()) { 
      final ContentValues values = toContentValues(); 
      values.put(Columns.ARTICLE_BODY, getArticleBody()); 
      return values; 
     } 
     return null; 
    } 

    private String getArticleBody() { 
     String body = ""; 
     final ContentResolver resolver = Application.getAppContext().getContentResolver(); 
     final String[] projection = new String [] {Columns.ARTICLE_BODY}; 
     final Uri uri = Uri.withAppendedPath(BriefcaseContentProvider.BRIEFCASE_ARTICLE_STORY_URI, mId); 
     final Cursor cursor = resolver.query(uri, projection, null, null, null); 
     if(cursor.getCount()>0){ 
      cursor.moveToFirst(); 
      body = cursor.getString(cursor.getColumnIndex(Columns.ARTICLE_BODY)); 
     } 
     return body; 
    } 

    private boolean hasValidData() { 
     boolean isValid = false; 
     if (StringUtils.isNotEmpty(mId) && StringUtils.isNotEmpty(mName)){ 
      isValid = true; 
     } 
     return isValid; 
    } 

} 
+0

हमें में दिखाने के '' getArticleBody' ArticleFragmentWebView' – Blundell

+0

@Blundell मैं सिर्फ उन दोनों के लिए कक्षाओं कहा, इसके बाद के संस्करण कोड –

+0

तो क्या में जाँच कृपया होता है यदि आप पहली पंक्ति को 'स्ट्रिंग बॉडी =' QueryDidNotWork 'में बदलते हैं;' यह एक वेबव्यू की तुलना में डेटाबेस प्रश्न प्रतीत होता है – Blundell

उत्तर

4

अपने कोशिश की Html.fromHtml (स्ट्रिंग) की है। नीचे दिए गए कोड मेरे लिए एक ईमेल में एचटीएमएल प्रदर्शित करने के लिए अच्छा काम करता है

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
String body = convertStreamToString(getResources().openRawResource(R.raw.share_email_body)); 
emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "my subject"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)); 
startActivity(Intent.createChooser(emailIntent, "Email:")); 
+0

मैंने किया, यह पहली बात थी जो मैंने ऑनलाइन सुझाए गए विकल्पों के कुछ प्रयासों की कोशिश की थी, लेकिन कोई भी नहीं था भाग्य, ऐसा लगता है जैसे शरीर का मूल्य शून्य हो रहा है –

संबंधित मुद्दे