Java 仅平铺应用程序

Java 仅平铺应用程序,java,android,android-activity,service,Java,Android,Android Activity,Service,看到了关于没有GUI的活动的问题,以及。此外,这些答案相当陈旧,我不知道它们是否仍然相关 我想创建一个应用程序,其中唯一的用户交互是快速互动 我知道根本不可能没有活动,所以我使用@android:style/Theme.NoDisplay <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@an

看到了关于没有GUI的活动的问题,以及。此外,这些答案相当陈旧,我不知道它们是否仍然相关

我想创建一个应用程序,其中唯一的用户交互是快速互动

我知道根本不可能没有活动,所以我使用
@android:style/Theme.NoDisplay

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoDisplay">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

<service
    android:name=".AdaptativeSleepTile"
    android:icon="@drawable/ic_launcher_background">
</service>
那么,我应该怎么做才能拥有一个只有快速互动功能的服务呢?(同样的问题也适用于完全没有交互,或者我猜只有widget)

使用Android Studio 4和Sdk 29

我想创建一个应用程序,其中唯一的用户交互是快速互动

这可能可行,也可能不可行。自Android 3.1以来,应用程序安装在“停止状态”,需要明确的
Intent
将其移出停止状态并允许其运行。通常,用户点击启动器中的图标来运行
MAIN
/
launcher
活动

很可能,只要清单中有一个可用的
TileService
,就足以将您列在通知阴影中,添加该tile的行为就足以将您的应用程序移出停止状态。然而,我当然不能保证这一点,如果这不起作用,我也不会感到惊讶

此外,请记住,您可能出于其他原因需要参加活动:

  • 显示您的服务条款
  • 显示您的隐私策略
  • 提供技术支持
  • 允许配置应用程序
  • 等等
但该应用程序出现在我的应用程序列表中(逻辑上,当我点击它时,不会发生任何事情),这不是这个答案的注释中所写的内容

如果你指的是第一条评论,那就错了,正如其他关于这个答案的评论所指出的那样

我无法删除该行,否则会收到错误消息

Could not identify launch activity: Default Activity not found
Error while Launching activity
我想你是从安卓工作室得到的。您需要更改运行配置,以避免尝试启动活动

同样的问题也适用于完全没有互动


幸运的是,没有解决办法。恶意软件作者认为完全看不见的应用程序很棒,Android采取措施阻止这些应用程序正常工作。这就是为什么如果您的
TileService

需要一项活动,我不会感到惊讶的原因。谢谢您的回答,对于我自己开发的这个特定用法,我不认为服务条款会有用。。。但是我没有考虑安全问题。但这款手机附带了许多预安装的服务,并非所有的服务都在抽屉里有图标,例如内置的手电筒或石膏只能通过瓷砖进行访问。在这里,我想让瓷砖表现出一种发财的行为。你能解释一下我应该做什么来改变我的跑步配置吗?@sayanel:“你能解释一下我应该做什么来改变我的跑步配置吗?”——进入Android Studio主菜单中的跑步>编辑配置。在列表中选择您的跑步配置(例如,
app
)。将“启动选项”的值从“默认活动”更改为其他值,可能为“无”。然后,当您从Studio运行应用程序时,将安装APK,但不会发生任何其他情况。感谢这一点:我将“启动选项”设置为“无任何内容”,并注释了“已删除”
:我的应用程序现在没有抽屉条目,只有一个平铺。在显示停止/启动状态时,我使用了tile onClick()方法,我认为这将永远可用