我尝试使用this question
中回答的建议注册新的文件关联如果用户尝试打开已注册的文件类型,我想打开应用的主Activity
根据Manifest
中接受的答案,我尝试过此代码
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</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:scheme="http" android:host="*"
android:pathPattern=".*\\.myfilextension" />
<data android:scheme="https" android:host="*"
android:pathPattern=".*\\.myfilextension" />
<data android:scheme="content" android:host="*"
android:pathPattern=".*\\.myfilextension" />
<data android:scheme="file" android:host="*"
android:pathPattern=".*\\.myfilextension" />
</intent-filter>
</activity>
但是.myfilextension
似乎没有正确关联,因为如果我尝试打开文件sample.myfilextension
没有任何反应。
所以我试过了
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</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:scheme="http" />
<data android:scheme="https" />
<data android:scheme="ftp" />
<data android:scheme="file" />
<data android:host="*" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.myfilextension" />
</intent-filter>
</activity>
使用此代码,如果我尝试打开文件.myfilextension
并且应用程序已启动并在后台运行,一切正常,但如果在我尝试打开文件时应用程序关闭,应用程序尝试启动但挂起,在模拟器中挂起“等待调试器”所以我无法理解问题的原因。
我该如何解决这个问题?
答案 0 :(得分:1)
第二个示例代码应该有效。
模拟器中的挂起&#34;等待调试器&#34;
问题似乎与无法附加调试器的仿真器有关。
尝试按照以下步骤操作:
- 关闭模拟器
- 转到AVD管理器并重新创建模拟器
- 启动模拟器并尝试运行应用
或者尝试在真实设备上运行应用程序。