隐式调用intent报错,找不到原因,请指点,谢谢

zkbao 2014-04-30 01:47:27
第一个MainActivity 源码

public class MainActivity extends Activity {

public final static String MY_ACTION = "com.zkbao.intentactioncategorytest.action.MY_ACTION";
public final static String MY_CATEGORY="com.zkbao.intentactioncategorytest.category.MY_CATEGORY";
private Button startBtn = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startBtn = (Button)findViewById(R.id.startBtn);

startBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(); //隐式调用,传递自定义的Action和category
intent.setAction(MainActivity.MY_ACTION);
intent.addCategory(MainActivity.MY_CATEGORY);

startActivity(intent);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

第二个SecondActivity源码

public class SecondActivity extends Activity {

private TextView actionShowText=null;
private TextView categoryShow=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

actionShowText = (TextView)findViewById(R.id.actionShow);
categoryShow = (TextView)findViewById(R.id.categoryShow);

actionShowText.setText("action is: "+getIntent().getAction());
Set<String> cate = getIntent().getCategories();
categoryShow.setText("category is: "+cate);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, menu);
return true;
}

}

mainfest配置部分
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.zkbao.intentactioncategorytest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.zkbao.intentactioncategorytest.SecondActivity"
android:label="@string/title_activity_second" >
<intent-filter>
<action android:name="com.zkbao.intentactioncategorytest.action.MY_ACTION"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.zkbao.intentactioncategorytest.category.My_CATEGORY"/>

</intent-filter>
</activity>
</application>

可是运行程序,一点MainActivity按钮,报错:


看了很多网上都说是配置文件配置有问题,一般都是少了<category android:name="android.intent.category.DEFAULT" />,可是我已经加上了,还是出错,请指点,谢谢
...全文
301 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkbao 2014-04-30
  • 打赏
  • 举报
回复
啊,检查了一下,果然写错了,楼上谢谢你的仔细,结贴
  • 打赏
  • 举报
回复
category 你写错了 AndroidManifest.xml My_CATEGORY MainActivity MY_CATEGORY
zkbao 2014-04-30
  • 打赏
  • 举报
回复
阿,楼上的可否详细解释一下,为何要配置<data .../>??
Darcy杨 2014-04-30
  • 打赏
  • 举报
回复
在intent-filter里面配置<data .../>
zkbao 2014-04-30
  • 打赏
  • 举报
回复
补充一下: 如果 Intent intent = new Intent();改为 Intent intent = new Intent(MainActivity.this,SecondActivity.class);就没有问题,但这显然不是隐式了
zkbao 2014-04-30
  • 打赏
  • 举报
回复
先自己顶一下,在线等

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧