1

外部pdfリーダーでpdfファイルを表示しているAndroidアプリを使用しています。Adobe Reader を使用すると、PDF を開くたびに携帯電話のダウンロード フォルダに PDF ファイルが保存されることに気付きました。

ユーザーがマップをダウンロードしていっぱいにならないように、この問題を回避するためのフラグや何かがありますか?

私のコード:

package com.example.sbny.activities;

import java.io.*;
import java.util.ArrayList;
import java.util.Date;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.ContentProvider;
import android.content.Intent;
import android.content.res.AssetManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Window;
import android.widget.Toast;
import com.example.sbny.R;
import com.example.sbny.data.Coupon;
import com.example.sbny.data.Paper;
import com.example.sbny.database.DatabaseHelper;
import com.example.sbny.database.tables.AdcDB;
import com.example.sbny.database.tables.CouponDB;
import com.example.sbny.utils.FileUtil;
import android.support.v4.content.*;
import com.example.sbny.utils.Logger;

public class LasSollefteabladet extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.las_sollefteabladet);




        AdcDB adcDb = new AdcDB(DatabaseHelper.getInstance().getReadableDatabase());
        Paper paper = adcDb.getPaper();
        File paperFile = FileUtil.getFile(paper.getUrl());
        Uri contentUri = null;
        try
        {
            contentUri = FileProvider.getUriForFile(this, "com.example.sbny.fileprovider", paperFile);
        }
        catch (IllegalArgumentException e) {
            Logger.log("kan inte dela filen");
        }



        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(contentUri,"application/pdf");
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);

        try
        {
            getApplicationContext().startActivity(intent);
        }
        catch (ActivityNotFoundException e)
        {
            Toast.makeText(LasSollefteabladet.this, "NO Pdf Viewer", Toast.LENGTH_SHORT).show();
        }



    }



    @Override
    protected void onRestart()
    {
        super.onRestart();
        Intent nextScreen = new Intent(getApplicationContext(), ManadensSollefteablad.class);
        nextScreen.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(nextScreen);
        Logger.log("onRestart");
    }

}
4

2 に答える 2

0

ファイルを開くために使用する既定のアプリの Android 設定を変更することはできません。あなたができる唯一のことは、PDF ファイルを開くためのデフォルトのプログラムを変更するようにユーザーに指示することです。私はユーザーの知性についてはあまり気にしません...これらのダウンロードしたマップを削除する方が簡単ではないでしょうか?

于 2013-10-30T10:13:18.913 に答える
0

そのインテント フィルターは、提案ポップアップにリストされている特定のアプリケーションで定義されているため、提案ポップアップからアプリケーションを非表示にすることはできません。

于 2013-10-30T10:02:18.417 に答える