我一直在开发(黑客攻击)一个应用程序小部件,现在工作正常。我一直打算实现一个关联的应用程序,以便用户可以在运行应用程序或添加小部件(或两者)之间进行选择。
直到现在,我已经通过在主要的Activity的onCreate()方法中添加Toast,并在onCreate()的末尾添加了finish()来使应用程序边缘化,这样当我从Android Studio中运行我的项目时,在我的设备上,我看到的只是一个快速的Toast,没有出现讨厌的Activity视图。
现在我已准备好了解应用程序,所以我拿出Toast并删除了finish(),但我发现简单的“Hello World”TextView(在创建时将其作为占位符放在那里)该项目)不再显示,而是当我尝试运行它时应用程序就会挂起。
我几乎不知道为什么会这样,但怀疑它与相关的小部件相关。
我的onCreate()方法仍然非常简单:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
}
并且activity_my视图同样简单(仍然是股票“hello world”示例):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MyActivity">
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
知道我应该从哪里开始吗?
答案 0 :(得分:1)
D'哦。希望我能够快速到达这里以避免浪费别人的时间,但我刚刚意识到我做了什么 else 以阻止主要活动的视图在开发小部件时显示......
我在主要活动部分的AndroidManifest中添加了以下行:
android:theme="@android:style/Theme.NoDisplay">
一旦我将其删除,事情就会恢复正常。
但也许这将有助于某人在未来和我一样愚蠢。令人烦恼的是,我甚至在代码中给自己写了一个注释,提醒我从Manifest文件中取出上面一行,当我最终查看应用程序方面时。哦,好吧。