我正在创建一个mp3tag编辑器,并希望它通过android-buildin-filebrowser“myfiles”(com.sec.android.app.myfiles / com.sec.android.app.myfiles.MainActivity)开始。< / p>
当我选择一个mp3文件时,我得到一个活动选择器,它为我提供了两个程序来执行该文件。 不幸的是,我自己的计划不属于所提供的选择。
但是,如果我使用外部android-filebrowser OI File Manager,它会为我提供一个选择器 其中包括我自己的应用程序。
我的问题:如何在清单中注册我的活动,以便“myfiles”可以启动它?
我的应用注册如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="media.mp3"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".Mp3TagEditorActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.EDIT" />
<category android:name="android.intent.category.VIEW" />
<data android:mimeType="audio/mpeg" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:4)
我正在创建一个mp3tag编辑器,并希望它通过android-buildin-filebrowser“myfiles”开始。
Android OS中没有“android-buildin-filebrowser'myfiles'”。您可能会想到某个特定设备上附带的文件浏览器。
我的问题:如何在清单中注册我的活动,以便“myfiles”可以启动它?
要明确回答,您必须联系“myfiles”的作者。
我的应用注册如下:
您的<intent-filter>
相当错误。
首先,EDIT
和VIEW
是行动,而不是类别。
其次,<intent-filter>
匹配的唯一方法是,如果包含LAUNCHER
类别,则EDIT
或VIEW
操作的可能性非常小。< / p>
如果您希望此活动同时位于主屏幕的启动器并且响应VIEW
或EDIT
操作,则需要以下内容:
<activity
android:label="@string/app_name"
android:name=".Mp3TagEditorActivity" >
<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.EDIT" />
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="audio/mpeg" />
</intent-filter>
</activity>
两个单独的<intent-filter>
元素是逻辑OR - 与第一个匹配的任何Intent
或第二个匹配此活动。
答案 1 :(得分:0)
实际上,它可能就像添加:
一样简单<action android:name="android.intent.action.MUSIC_PLAYER" />
所以你的Manifest应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="media.mp3"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".Mp3TagEditorActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MUSIC_PLAYER" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.EDIT" />
<category android:name="android.intent.category.VIEW" />
<data android:mimeType="audio/mpeg" />
</intent-filter>
</activity>
</application>
</manifest>
尝试一下,您可能会出现在我的myfiles应用中。希望能解决你的问题。