当前位置: 首页 > 软件库 > 手机/移动开发 > >

indigenous-android

授权协议 GPL-3.0 License
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 权黎昕
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Indigenous for Android

An open social app with support for IndieWeb, Mastodon, Pleroma and Pixelfed.

Get it on Google Play Get it on F-Droid

More information at https://indieweb.org/Indigenous andhttps://indigenous.realize.be

iOS: https://github.com/swentel/indigenous-ios
Desktop: https://github.com/swentel/indigenous-desktop

Features

  • Login with multiple domains and account types:
    • IndieWeb: discover IndieAuth, micropub, microsub and media endpoints. Themicropub and microsub endpoints are optional, but at least one should beavailable. Token revoke happens when deleting an account. PKCE support foradditional security when authenticating.
    • Fediverse: Mastodon, Pleroma and Pixelfed.
  • Comes with a built-in anonymous user which allows reading channels andposts coming from https://indigenous.realize.be, https://mastodon.social,https://pleroma.site or https://pixelfed.social. Posts can be send to a customendpoint and token.
  • Posting
    • post types: article, note, reply, repost, like, bookmark, event,issue, rsvp, geocache, read, checkin, trip and venue (h-card).
    • add multiple images, videos, audio, tags, toggle syndication targets
    • share location on note, article, event, checkin, geocache and venue
    • send image to media endpoint
    • apply filters, add text and emojis on images
    • Toggle post-status (published vs draft)
    • Toggle sensitivity and visibility
    • Save as local draft to finish later. This also includes coordinates,so you can finish later even when you are on a different locationthen. Place suggestions are also supported.
    • Allow autocomplete of usernames in body text
    • Manage contacts (add/delete/update)
    • Query, update and delete: get a list of posts and update basicproperties (experimental)
  • Reader
    • read channels, with pull to refresh
    • read items per channel, with pull to refresh, response actions per item
    • reply, like, repost, rsvp, bookmark, upload or add feed directly
    • listen to audio or watch video if available
    • view fullscreen images, zoom and pinch
    • Manage channels and feeds
    • Offline reading, optional via settings
    • Main content becomes selectable after long click
    • Browse by tag for Mastodon
  • Share intents: receive text or images to directly share
  • Push notifications: receive push notifications if you have an accounton https://indigenous.realize.be. Only for IndieWeb accounts.You can also use your own custom MQTT server to receive notifications.

Checkin, Geocache and Venue are experimental and pass on all informationinto a Geo URI in the geo property, e.g.

geo:51.5258325,-0.1359825,0.0;name=london;url=https://hwclondon.co.uk

Some features are not available for Mastodon and Pixelfed, because they eitherdon't make sense or the API doesn't support it yet. Pull requests welcome ofcourse! To check authorizations of this app on your accounts, go to followingurl on your instance:

Mastodon: oauth/authorized_applicationsPixelfed: settings/applicationsPleroma: not found yet (info welcome!)

Screenshot

More screenshots at https://indigenous.realize.be

Known issues

Authentication loop

When authenticating for the first time, you might see a message"Authentication successul" but then returning to the Sign in screen.While the account has been created, the default was not set. In thiscase, the sign in screen will allow you to select the account.

See https://github.com/swentel/indigenous-android/issues/84
This happens sometimes, but not always.

Known syndication targets not parsed

See https://github.com/swentel/indigenous-android/issues/152

Authenticating

  • Some browsers (e.g. the default browser on LineageOS), won't allowIndigenous to listen to the callback to verify the authorization code.Install a browser like Firefox (any flavor) so you can login.
  • When your account requires 2FA, put the apps in split screen mode, seehttps://github.com/swentel/indigenous-android/issues/210

Notifications don't arrive after the app is closed

This is due to new default settings in the latest Android versions. Tryturning of battery optimization for the Indigenous app and it shouldwork fine.

Translations

Indigenous is available in English and Dutch. If you want to translate toanother language, or improve the default English there are two options:

You can use informal tone for translating pronouns.

API

If you'd like to add a new account type, checkout API.md for a quick guide.

Credits

This app uses following external libraries:

Other IndieWeb and Fediverse clients

Issues

If you found a bug, open a request. Feature requests might be closed as I lovehaving a clean queue. Pull requests are welcome though!

Things I'd love to explore one day:

  • allow posting to multiple accounts at once
  • detail views for Fediverse
  • cleaner account names (am.renameAccount())
  • better UI/UX for managing feeds
  • cleanup the various ways of requests

Sponsors

I would like to extend many thanks to the following sponsors for funding development.

 相关资料
  • 问题内容: 我正在尝试从一个发送客户类的对象,Activity然后在另一个对象中显示它Activity。 客户类的代码: 我想将其对象从一个对象发送Activity到另一个对象,然后在另一个对象上显示数据Activity。 我该如何实现? 问题答案: 一种选择是让你的自定义类实现该接口,然后可以使用该方法的变体在意图中额外传递对象实例。 伪代码:

  • 问题内容: 我很难找到最简单的方法来针对给定的JSON模式字符串验证JSON字符串(作为参考,这是在Java中运行在Android应用程序中)。 理想情况下,我只想传入JSON字符串和JSON模式字符串,并且它返回关于是否通过验证的布尔值。通过搜索,我发现了以下两个有前途的库可以完成此任务: http://jsontools.berlios.de/ https://github.com/fge/j

  • 问题内容: 我想每隔5秒重复调用一次方法,每当我希望停止该方法的重复调用时,我可能会停止或重新启动该方法的重复调用。 这是一些我真正想要实现的示例代码。在这方面请帮助我,我将非常感谢您。 问题答案: 使用以下命令设置重复任务: 如果您想取消任务,只需调用这里就是您的对象 并且您还可以检查答案下方的评论,他们已经提供了有关此内容的简短信息。

  • 问题内容: 我有一个活动,该活动的TabHost包含一组TabSpec,每个TabSpec都有一个listview,其中包含要由该选项卡显示的项目。创建每个TabSpec时,我设置一个图标以显示在选项卡标题中。 TabSpec是通过以下方法创建的,该方法循环创建适当数量的选项卡: 有几个实例,我希望能够更改程序执行过程中每个选项卡中显示的图标。目前,我正在删除所有选项卡,并再次调用上述代码以重新创

  • 问题内容: 如何通过android app向终端发送命令并获取输出?例如,发送“ ls /”并获取输出以在GUI中将其打印出来? 问题答案: 您必须使用反射来调用android.os.Exec.createSubprocess():

  • 问题内容: 我的应用程序显示了许多自定义对话框,例如“是/否”或“接受/取消决定”,并且在编写代码时,我意识到遵循相同的模式重复了太多代码。 我想建立一个通用类,但我不知道该怎么做,或更确切地说,我不知道该怎么做(接口,抽象类,继承,静态类等)。 这是我目前的课程: } 这就是我需要使用此类时要做的事情: 我敢肯定它是可改进的,但是您怎么能做到呢? 谢谢 问题答案: 首先创建一个Base 来保持的