2013-09-23 3 views
0

Нажав на любой файл txt в любом стороннем проводнике (Es file explorer, Astro FM и т. Д.), Вы увидите всплывающее меню, в котором есть параметры для открытия этого файла. Я реализовал это следующим,Открыть текстовый файл в android

gdview.setOnItemClickListener(new OnItemClickListener() 
    { 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int index, long arg3) 
     { 
      final String options[] = {"Text", "Audio", "Video", "Image", "Other"}; 
      String selectedpath = filespath.get(index); 
      File tmp = new File(selectedpath); 
      if(tmp.isDirectory()) 
      { 
       Intent intnt = new Intent(MainActivity.this, ChildAvtivity.class); 
       intnt.putExtra(EXTRA_PATH, selectedpath); 
       startActivity(intnt); 
      } 
      else 
      { 
       final Intent intent = new Intent(); 
       intent.setAction(android.content.Intent.ACTION_VIEW); 
       final File file = new File(selectedpath); 

       final MimeTypeMap mime = MimeTypeMap.getSingleton(); 
       final String ext=file.getName().substring(file.getName().indexOf(".")+1); 
       final String type = mime.getMimeTypeFromExtension(ext); 
       intent.setDataAndType(Uri.fromFile(file),type); 
       startActivity(intent); 
       } 
     } 
});  

Но теперь я хочу, и еще один вариант (как мой исследователь) в этом PopupMenu. Как это сделать ?

Заранее спасибо

+0

возможно дубликат [Как добавить собственный вариант «Завершить действие с помощью» меню] (http://stackoverflow.com/questions/ 18956232/how-to-add-our-own-option-to-complete-action-using-menu) – Kuffs

ответ

0

Вы должны зарегистрировать свое приложение для прослушивания с ACTION_VIEW намерениями в манифесте приложения. Вы можете установить типы файлов для прослушивания с использованием тега <data> в <intent-filter>.

Это подробно описано в документации разработчика в Allowing Other Apps to Start Your Activity.

Например, ваш манифест может выглядеть примерно так:

<activity android:name="MyTextViewerActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
     <data android:mimeType="text/plain"/> 
    </intent-filter> 
</activity> 
+0

ThanX ... его работающий сейчас ... – user2791281

Смежные вопросы