Atualmente estou tentando criar um monte de aplicativos Android simples para substituir os aplicativos padrão com eles.
Eu já vi em este post como configurar o aplicativo SMS como padrão:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android-dir/mms-sms" />
</intent-filter>
Mas eu queria saber como conseguir o mesmo para esses aplicativos:
- aplicativo da câmera (para tirar fotos)
- aplicação Galeria / foto (Para selecionar e visualizar as imagens)
- aplicação de contato (Para contatos visualizar, editar, apagar e call)
- aplicação de telefone (Para contatos chamada / números de telefone e receber chamadas)
- Aplicação de browser da Internet (para navegar na Internet)
- aplicação de teclado (para escrever o texto como no teclado padrão)
- aplicação Launcher (Para exibir todos os aplicativos instalados na tela inicial)
Já reparou que é quase impossível para definir o aplicativo como aplicativo padrão programaticamente, sem a interação do usuário. Este seria o objetivo principal, mas seria também bem se o usuário pode escolher qual a aplicação que pretende utilizar como o aplicativo padrão. Mas eu quero ter certeza de que os aplicativos que eu listados acima são selecionáveis. Então, minha pergunta é, o que mime tipos que eu tenho que adicionar aos filtros de intenção no arquivo de manifesto do Android?
Então, minha pergunta é, o que mime tipos eu tenho que adicionar aos filtros de intenção no arquivo de manifesto do Android?
mimetype
é apenas padrão de descrever o conteúdo, e é próxima de processamento. Isso não é algo novo no Android, você pode conferir mais informações sobre tipos de mídia página Wiki . Esta informação sobre mimetype
atributo no a documentação Android :
android: mimeType - Um MIME tipo de mídia, como image / jpeg ou áudio / mpeg4-genérico. O subtipo pode ser o curinga asterisco para indicar que todas as correspondências subtipo
No entanto, como você pode ver o vnd
prefixo em um tipo de MIME é um "vendedor prefixo", o que significa que não é um tipo de funcionário IETF MIME. Então você terá que verificar esse tipo para cada aplicação. Apenas alguns exemplos, o que temos a seguir.
Nota! A fim de aplicativo padrão set, você precisa especificar android.intent.action
em primeiro lugar. Porque é principais bandeiras entre interação processo, de modo Launcher (por ex.) Não terá mimetype
, e apenas ações intenção android.intent.action.MAIN
, android.intent.action.SET_WALLPAPER
.
Câmera:
<data android:mimeType="vnd.android.cursor.dir/image" />
<data android:mimeType="vnd.android.cursor.dir/video" />
Imagem / vídeo / áudio:
<data android:mimeType="video/*" />
<data android:mimeType="video/mpeg4" />
<data android:mimeType="video/mp4" />
<data android:mimeType="video/3gp" />
......
<data android:mimeType="image/*" />
<data android:mimeType="application/sdp" />
......
<data android:mimeType="audio/x-mpegurl" />
<data android:mimeType="audio/mpegurl" />
<data android:mimeType="application/vnd.apple.mpegurl" />
<data android:mimeType="application/x-mpegurl" />
....
Contatos:
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/person" />
<data android:mimeType="vnd.android.cursor.dir/calls" />
Navegador:
<data android:mimeType="application/xhtml+xml"/>
<data android:mimeType="application/vnd.wap.xhtml+xml"/>
<data android:mimeType="vnd.android.cursor.item/postal-address" />
<data android:mimeType="vnd.android.cursor.dir/bookmark"/>
<data android:mimeType="vnd.android.cursor.item/download"/>