2016-03-02 6 views
0

Загружен файл из gmail. После завершения загрузки мне нужно щелкнуть уведомление, чтобы открыть загруженный файл в моем приложении. мой тип файла - csv.Как открыть загруженный файл с уведомлением нажмите в android?

enter image description here

нажмите на выше загруженный файл он открывается через мой app.how открыть?

<activity 
      android:label="@string/app_name" 
      android:name=".Fakeactivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 
       <data android:scheme="file" /> 
       <data android:host="*" /> 
       <data android:mimeType="text/comma-separated-values" /> 
       <data android:pathPattern=".*\\.csv" /> 
      </intent-filter> 
     </activity> 

Используя приведенный выше код, чтобы открыть файл CSV через мой app.in FakeActivty у меня есть код для записи чтения файла CSV.

ответ

0

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

final Intent intent = new Intent(this, CSVClass.class); 
     \\ data you want to send to CSV 
    intent.putExtra("key", "value"); 
    final PendingIntent contentIntent = 
    PendingIntent.getActivity(this, 
     0, intent), 0); 
    public class CSVFile { 
    InputStream inputStream; 

    public CSVFile(InputStream inputStream){ 
    this.inputStream = inputStream; 
    } 

    public List read(){ 
    List resultList = new ArrayList(); 
    BufferedReader reader = new BufferedReader(new 
    InputStreamReader(inputStream)); 
    try { 
     String csvLine; 
     while ((csvLine = reader.readLine()) != null) { 
      String[] row = csvLine.split(","); 
      resultList.add(row); 
     } 
    } 
    catch (IOException ex) { 
     throw new RuntimeException("Error in reading CSV file: "+ex); 
    } 
    finally { 
     try { 
      inputStream.close(); 
     } 
     catch (IOException e) { 
      throw new RuntimeException("Error while closing input 
     stream: "+e); 
     } 
    } 
    return resultList; 
    } 

} 

источник http://javapapers.com/android/android-read-csv-file/

+0

чтение делается уже в моей деятельности. но после загрузки нажмите на мой файл, он не открывается. Фактически я не знаю, где написать функцию уведомления onclick? – Rajesh

+0

ваша проблема находится в уведомлении кликов, поскольку я понимаю, что вам нужно добавить в место, где вы создаете уведомление в своем коде окончательное намерение намерение = новый намерение (это, MyActivity.class); intent.setData (данные); intent.putExtra («ключ», «значение»); final PendingIntent contentIntent = PendingIntent.getActivity (это, 0, намерение), 0); – androidAhmed

+0

Если вы хотите, чтобы ваше приложение открывало файл из загрузки, вам нужно установить широковещательный приемник, чтобы сообщить операционной системе, что ваша программа может открывать файлы .csv – androidAhmed

2

Используйте ожидающие намерения для этого же. Вот пример кода. Я надеюсь, что это поможет

Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_VIEW); 
    File file = new File("YOUR_FILE_URI"); // set your filepath 
    intent.setDataAndType(Uri.fromFile(file), "YOUR_FILE_TYPE/*"); 

    PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0); 

    Notification noti = new NotificationCompat.Builder(this) 
      .setContentTitle("Download completed") 
      .setContentText("File name") 
      .setSmallIcon(R.drawable.ic_launcher) 
      .setContentIntent(pIntent).build(); 

    noti.flags |= Notification.FLAG_AUTO_CANCEL; 

    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    notificationManager.notify(0, noti); 
+0

Это работает для меня – SAurabh

+0

счастливое кодирование ..... – Coder