Como configurar aplicativos como padrão ou deixar que o usuário selecione o aplicativo?

Marvin Clear:

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?

GensaGames :

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 mimetypeatributo 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 vndprefixo 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.actionem 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"/>

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=138221&siteId=1
Recomendado
Clasificación