Как открыться/показать документы (.pdf, .doc) без внешнего приложения?

Я хочу создать программу, это открывает документы без внешнего приложения. Мне нужно это, потому что я хочу завиться документ с ориентацией телефонов (Продольный и поперечный крен). Я создаю кнопку в нижней части экрана, и когда я удерживаю кнопку, я могу завиться документ также. Если я отпускаю кнопку, я не могу завиться ее. Так, если я открываю документ с внешним приложением, моя кнопка исчезает, и работы sensorManager ни один.

Имейте кого-то любая идея решить эту проблему. Или у кого-то есть какая-либо идея, как завиться документ, открытый во внешнем приложении, с моей ориентацией телефонов?

(Извините за мой английский язык)

Это - моя декларация:

<?xml version="1.0" encoding="utf-8"?>






    
        
            

            
        
    


Это - мое Расположение:







<button 
   android:id="@+id/mybutt"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:textSize="25sp"
   android:text="Scroll!!"
   android:layout_gravity="right"/>

Это - мой Кодекс:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    button = (Button) findViewById( R.id.mybutt );

    String pdf = "http://www.pc-hardware.hu/PDF/konfig.pdf";
    String doc="<iframe src='http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf' width='100%' height='100%' style='border: none;'></iframe>";
    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginsEnabled(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.loadData( doc , "text/html", "UTF-8");
}
18
nl ja de
Вы находили решение? Я также сталкиваюсь с этой проблемой. Я couldn' t загружают докторов в webview.
добавлено автор SKK, источник
@karthi вы становились решенными ваша проблема?
добавлено автор Alvin Varghese, источник
Та же самая проблема предоставленное решение работает хорошо на файлы PDF, но не на .docs или .pptx файлы.
добавлено автор Ronak Khandelwal, источник

3 ответы

I think you should use custom library for getting that done .See this and this

Но есть путь к показу PDF с запросом другого применения

This is a way for showing PDF in android app that is embedding the PDF document to android webview using support from <Кодекс>http://docs.google.com/viewer

псевдо

<Кодекс>String doc="<iframe src='http://docs.google.com/viewer?url=+location to your PDF File+' 
              width='100%' height='100%' 
              style='border: none;'></iframe>";

образец, показан ниже

<Кодекс> String doc="<iframe src='http://docs.google.com/viewer?url=http://www.iasted.org/conferences/formatting/presentations-tips.ppt&embedded=true' 
              width='100%' height='100%' 
              style='border: none;'></iframe>";

Кодекс

<Кодекс>    WebView  wv = (WebView)findViewById(R.id.webView); 
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginsEnabled(true);
    wv.getSettings().setAllowFileAccess(true);
    wv.loadUrl(doc);
    //wv.loadData( doc, "text/html",  "UTF-8");

и в декларации обеспечивают

<Кодекс>

See this

Осторожность: Я не знаю о проблемах совместимости с различными версиями андроида

В этом подходе недостаток - вы интернет-соединение потребности. Но я думаю, что это удовлетворяет вашу потребность

Править Попробуйте это как src для iframe

<Кодекс>src="http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf"

try <Кодекс>wv.loadData( doc , "text/html", "UTF-8"); . Both works for me

enter image description hereenter image description here

23
добавлено
я могу использовать это, чтобы показать файл PDF от моей SD-карты?
добавлено автор Kairi San, источник
Я могу открыть jpeg URL файла с помощью docs.google.com?
добавлено автор VVB, источник
пожалуйста, дайте мне связь PDF
добавлено автор edwin, источник
вы сказали, что это работает на вас, каков вопрос тогда?? если it' s работают, какова проблема? просто хочу знать то, что пошло не так, как надо
добавлено автор edwin, источник
пошлите электронное письмо моему почтовому ID в моем профиле
добавлено автор edwin, источник
опубликуйте свой код, расположение и проявите рассматриваемый
добавлено автор edwin, источник
@VVB I didn' t пробуют изображения через докторов Google
добавлено автор edwin, источник
я пробую вашу связь it' s рабочий идеально подходящий для меня на андроиде 2. X & 4. X
добавлено автор edwin, источник
@delive what' s displayedArticle??
добавлено автор edwin, источник
также в вашем коде вы не используете ' http://' прежде ' ' docs.google.com/viewer? '
добавлено автор edwin, источник
можно ли объявить о связи PDF
добавлено автор edwin, источник
имейте u, учитывая разрешение в декларации..? и в которую версию андроида вы проверили его?
добавлено автор edwin, источник
i' m не уверенный это, вы хотите?? потому что его поддержка взятия со стороны другого обслуживания
добавлено автор edwin, источник
Впечатляющий! Я никогда не думал бы на нем.
добавлено автор Jordi Coscolla, источник
Как я могу сделать с displayedArticle.getEncodedContent ()?
добавлено автор delive, источник
@edwin его действительно очень полезное для меня, Спасибо..
добавлено автор 135, источник
Это раньше работало ранее, но недавно docs.google.com/viewer? URL = doesn' t работа. У этого есть x-frame-options ошибка и PDF can' t открытый.
добавлено автор Lee Yi Hong, источник
это doesn' t работают с вашим iframe решением, оно работает с webView.loadUrl ("docs.google.com/gview? embedded=true&url ="; + URL PDF); но это didn' t решает мою проблему, потому что я не могу завиться его со своей ориентацией телефонов
добавлено автор KhalDrogo, источник
@edwin можно ли послать мне исходный код?
добавлено автор KhalDrogo, источник
я can' t видят ваш адрес электронной почты, но здесь мое: [email protected]
добавлено автор KhalDrogo, источник
и моя основная проблема, что я хочу завиться свой PDF с телефонами, ориентирующими (продольный и поперечный крен)
добавлено автор KhalDrogo, источник
если я использую это, это работает, но это не ваш решение: Натяните PDF ="pc-hardware.hu/PDF/konfig.pdf";; webView.loadUrl ("docs.google.com/gview? embedded=true&url =&qu‌ ​ ot; + PDF);
добавлено автор KhalDrogo, источник
это - мой код: uploadpic.org/v.php? img=0Pc0XLN513
добавлено автор KhalDrogo, источник
это все еще doesn' t работа, я don' t понимают:/
добавлено автор KhalDrogo, источник
Натяните доктора = "<iframe src ='docs.google.com/viewer? url=http://www.pc-hardware.hu/PD‌ ​ F/…; ширина =' 100%' высота =' 100%' стиль =' граница: ни один; '> </iframe>";
добавлено автор KhalDrogo, источник
это - связь с PDF: pc-hardware.hu/PDF/konfig.pdf
добавлено автор KhalDrogo, источник
разрешение: <разрешение использования android:name = "android.permission. ИНТЕРНЕТ"/> я проверяю его на Android 2.3
добавлено автор KhalDrogo, источник
Это doesn' t работает по некоторым причинам. Вот мой phone' s показывают картину: связь Я добавляю разрешение к декларации. Это - мой Кодекс: ' Натяните доктора = "<iframe src ='docs.google.com/viewer? url=http://www.pc-hardware.hu/PD‌ ​ F/…; ширина =' 100%' высота =' 100%' стиль =' граница: ни один; '> </iframe>"; webView = (веб-представление) findViewById (R.id.webView1); webView.getSettings() .setJavaScriptEnabled (верный); webView.getSettings() .setPluginsEnabled (верный); webView.getSettings() .setAllowFileAccess (верный); webView.loadUrl (доктор); '
добавлено автор KhalDrogo, источник
Как я могу спасти этот PDF, чтобы позвонить галерее или послать этот PDF по электронной почте человеку?
добавлено автор Akanksha Hegde, источник

Загрузите исходный код отсюда (Покажите файл PDF в моем заявлении андроида)

Добавляют эту зависимость в вашем Сорте:

compile 'com.github.barteksc:android-pdf-viewer:2.0.3'

activity_main.xml



    

    


    

MainActivity.java

package pdfviewer.pdfviewer;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.provider.OpenableColumns;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;

import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle;
import com.shockwave.pdfium.PdfDocument;

import java.util.List;

public class MainActivity extends Activity implements OnPageChangeListener,OnLoadCompleteListener{
    private static final String TAG = MainActivity.class.getSimpleName();
    public static final String SAMPLE_FILE = "android_tutorial.pdf";
    PDFView pdfView;
    Integer pageNumber = 0;
    String pdfFileName;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        pdfView= (PDFView)findViewById(R.id.pdfView);
        displayFromAsset(SAMPLE_FILE);
    }

    private void displayFromAsset(String assetFileName) {
        pdfFileName = assetFileName;

        pdfView.fromAsset(SAMPLE_FILE)
                .defaultPage(pageNumber)
                .enableSwipe(true)

                .swipeHorizontal(false)
                .onPageChange(this)
                .enableAnnotationRendering(true)
                .onLoad(this)
                .scrollHandle(new DefaultScrollHandle(this))
                .load();
    }


    @Override
    public void onPageChanged(int page, int pageCount) {
        pageNumber = page;
        setTitle(String.format("%s %s/%s", pdfFileName, page + 1, pageCount));
    }


    @Override
    public void loadComplete(int nbPages) {
        PdfDocument.Meta meta = pdfView.getDocumentMeta();
        printBookmarksTree(pdfView.getTableOfContents(), "-");

    }

    public void printBookmarksTree(List tree, String sep) {
        for (PdfDocument.Bookmark b : tree) {

            Log.e(TAG, String.format("%s %s, p %d", sep, b.getTitle(), b.getPageIdx()));

            if (b.hasChildren()) {
                printBookmarksTree(b.getChildren(), sep + "-");
            }
        }
    }

}

Спасибо!

1
добавлено
Жаль я don' t знают
добавлено автор Deepshikha Puri, источник
Эта библиотека не обеспечивает навигацию для связей в файле. Вы знаете какую-либо другую полно-защищенную библиотеку с навигацией внутренней ссылки также?
добавлено автор pratik03, источник

Ну, я думаю ниже, решение

 String doc="<iframe src='http://docs.google.com/viewer?url=http://www.example.com/yourfile.pdf&embedded=true' width='100%' height='100%'  style='border: none;'></iframe>";


    WebView  wv = (WebView)findViewById(R.id.wv);
    wv.setVisibility(WebView.VISIBLE);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setAllowFileAccess(true);
    wv.getSettings().setPluginState(WebSettings.PluginState.ON);  
    wv.setWebViewClient(new Callback()); 
    wv.loadData(doc, "text/html", "UTF-8");   

Надеясь это поможет вам:)

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)