我希望我的应用程序在列表中,以便在android环境中的任何位置打开pdf。我环顾四周,并根据阅读的内容添加了这些意图。但是,在测试和打开pdf时,它只是使用默认应用程序Polaris来打开它吗?
据我了解,在活动中我使用下面的代码来获取信息。
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
我尝试拆解Polaris,然后在打开时显示无法找到执行该应用程序的应用程序。
<activity
android:name=".UserLogIn"
android:label="User Authentication" >
<intent-filter>
<action android:name="com.example.USERLOGIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:host="*" />
<data android:pathPattern=".*\\.pdf" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:host="*" />
<data android:mimeType="application/pdf" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.pdf" />
</intent-filter>
</activity>
最佳答案
这适用于我的:
<activity
android:name=".ui.PdfViewerActivity" >
<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:mimeType="application/pdf" />
</intent-filter>
<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:host="*" />
<data android:scheme="file" />
<data android:scheme="smb" />
<data android:scheme="content" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.pdf" />
</intent-filter>
</activity>