未找到默认活动。如何定义默认活动?

时间:2018-09-16 15:57:05

标签: android

如何精确定义默认活动? 据我所知,向AndroidManifest.xml中添加“ andriod.intent.action.MAIN”是这样的:

<application
    <activity android:name=".MainActivity">
        <intent-filter>
             <action android:name="android.intent.action.MAIN/>

这应该将.MainActivity定义为默认活动,但是它不起作用。我还尝试添加完整的软件包名称com.package.MainActivity,但这也无法正常工作。

这可能是由于我的布局设置引起的,我试图在代码中动态定义一个布局...这是我的activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/mainlao">
</LinearLayout>

然后我在onCreate此处定义我的TextureView布局:

    protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    LinearLayout layout = (LinearLayout) findViewById(R.id.mainlao);
    mButton = new Button(this);
    mButton.setText("pic");
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    mTextureView = new TextureView(this);
    mTextureView.setSurfaceTextureListener(this);
    layout.addView(mTextureView);
    layout.addView(mButton, lp);
    setContentView(layout);

}

我看不到布局如何影响它,但这是我第一次遇到此错误,也是我第一次尝试进行这种布局。代码中没有错误,我尝试使缓存无效。

除了android.intent.action.MAIN ..以外,Google的服务还没有很多。 让我知道您是否需要有关该应用程序的更多信息。

1 个答案:

答案 0 :(得分:0)

活动的类别应为“发起人”类型

<activity android:name=".MainActivity">
        <intent-filter>
             <action android:name="android.intent.action.MAIN/>
             <category android:name="android.intent.category.LAUNCHER" /> // This
        </intent-filter>    
</activity>