- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
更新:似乎在我的 ActivityCentresPage 中它没有得到正确的 Intent 。我需要通过特殊方式从通知中获取 Intent 吗?
我为我的 Intent 添加了一个新键,我的 ActivityCentresPAge 将它显示为空,即使有一个值。我的 Activity 的 Intent 是什么?
我正在构建我的 Receiver 来处理 GCM 消息,但一些 Intent 不工作。
这是我的代码
private Intent getIntent(String action, JSONObject obj) {
Intent intent = new Intent(ctx, ActivityMain.class);
if (action.equals("home")) {
intent = new Intent(ctx, ActivityMain.class);
}
else if (action.equals("view_timetable")) {
intent = new Intent(ctx, ActivityViewTimetable.class);
}
else if (action.equals("invite_friends")) {
intent = new Intent(ctx, ActivityInviteFriends.class);
}
else if (action.startsWith("venue_")) {
try {
intent = new Intent(ctx, ActivityCentrePage.class);
Log.d("FUApp", obj.getString("name"));
BaseActivity bAct = new BaseActivity();
intent.putExtra(bAct.ExtraKeyCentreName, obj.getString("name"));
intent.putExtra(bAct.ExtraKeyCentreDist, "Not Available");
intent.putExtra(bAct.ExtraKeyCentreJSON, obj.toString());
intent.putExtra(bAct.ExtraKeyCentrePostcode, "none");
} catch (JSONException e) {
Log.e("FUApp", e.getMessage());
}
}
else if (action.equals("")) {
//intent = new Intent(ctx, .class);
Toast.makeText(ctx, "Empty", Toast.LENGTH_SHORT).show();
}
else
{
intent = new Intent(ctx, ActivityMain.class);
}
return intent;
}
和
Intent intent = new Intent(ctx, ActivityMain.class);
if (to_load_action != null) {
intent = getIntent(to_load_action, to_load_obj);
}
for (int a = 0;a < todo_items.length();a++) {
JSONObject todo_item = new JSONObject();
String action = "";
String miniAction = "";
try {
todo_item = todo_items.getJSONObject(a);
action = todo_item.getString("action");
miniAction = todo_item.getString("action_title");
} catch (JSONException e) {
Log.d("FUApp", e.getMessage());
}
Intent intent2 = getIntent(action, todo_item);
PendingIntent pIntent2 = PendingIntent.getActivity(ctx, 0, intent2, 0);
mBuilder.addAction(0, miniAction, pIntent2);
}
PendingIntent pIntent = PendingIntent.getActivity(ctx, 0, intent, 0);
mBuilder.setContentIntent(pIntent);
当 to_load_action 和 action(在 for 循环中)都以 venue_ 开头时,当我单击主通知时,将调用 addAction 的 Intent 。
谁能看出我这里有什么问题?
编辑:这一行
Log.d("FUApp", obj.getString("name"));
输出正确的信息,因此将两组不同的数据传递给该方法。此外,如果 to_load_action 不是以 venue_ 开头,而 for 循环中的 Action 是以 venue_ 开头,则一切正常。
最佳答案
在 pendingIntent 中你不应该使用标志吗?
PendingIntent pIntent2 = PendingIntent.getActivity(ctx, 0, intent2, Intent.FLAG_ACTIVITY_NEW_TASK);
或者这个
PendingIntent.FLAG_UPDATE_CURRENT
关于android - 错误的 Intent 被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18740678/
如果我想为收藏创建一个 Intent 。 如果用户问“他最喜欢什么”,它会显示一些建议芯片 因此它会调用与该芯片相关的任何后续 Intent 。 最喜欢的饮料 最喜欢的食物 最喜欢的电影等 我还想直接
我确信有一些显而易见的事情,但还没有找到解决这个简单问题的方法。错误是在用户猜出正确答案时尝试启动另一个 Activity 的主要 Activity : Error:(85, 23) Unresolv
public class MainActivity extends Activity { Button b; //FrameLayout fl; @Override p
我对 intentService 有点困惑。文档说,如果您向 intentService 发送多个任务( Intent ),那么它将在一个单独的线程上一个接一个地执行它们。我的问题是 - 是否可以同时
我正在尝试从其他应用程序获取 mime 类型 text/plain 的 Intent 并将该文本存储在字符串类型的变量中。它在 onCreate 方法中工作正常,但是当我使用 singleTask 作
我想知道,2个代码有什么区别? newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
如何设置我的 Activity 以响应任何类型的共享 Intent 。 我试过:- 但是这不起作用,我已经阅读了http://developer.android.co
鉴于子类具有不同的上下文以及在单击监听器后启动的不同 Activity ,父类(super class)中的代码 Intent Intent=new Intent(context,Activity.c
更新#1:更多信息添加到这篇文章的末尾 我是 Android 开发和测试的新手。 我有 3 个 Espresso 测试。第一个测试通过,但第二个不会运行,因为在第二个测试之前调用 setUp() 方法
我是 Espresso UI 测试的新手。 我在运行测试时遇到这个错误(ADT Eclipse IDE)。 该应用程序已经开发完成,并且在启动该应用程序时有很多请求正在进行。无法重写应用程序。但我需要
因此,尝试创建一个我认为是基本简历应用程序的应用程序。我有两个类(class),都有同样的问题。它说它“无法解析符号 Intent ” 谷歌部分做了,但没有任何意义.. 这是我的代码。 MainAct
我正在尝试将 user_id 值从一个 Intent 传递到另一个 Intent。我知道这是一个非常简单的过程,而且我已经这样做了好几次了。但对于下面的代码,我有点困惑。 我需要将 user_id 值
这是我将值传递给名为 choice 的类的主要 Activity 。 @Override public void onClick(View v) { // TODO Auto-generated me
我正在寻找一个 Android Intent 来翻译文本,我发现了这个: Google Translate Activity not working anymore 但我想在任务管理器中使用它。我真的
可以设置多个启动 Intent ,例如,当用户点击通知时。 让我解释一下我的具体问题: 我有一个带通知的应用程序。每个通知都会打开一个不同的 Activity (也有不同的附加功能)。 现在我想提取有
我有一个 Intent launchIntent = packageManagerForListener.getLaunchIntentForPackage(packagesForAdapter[po
List targetedShareIntents = new ArrayList(); Intent shareIntent = new Intent(android.content.Intent.
所以我试图在选择列表中的项目后启动一个新 Activity ......根据我所读的内容非常基本。我也在尝试在附加功能中发送一个值。所以我可以选择列表中的项目,然后新 Activity 开始,extr
有没有一种方法可以将一个Intent bundle 从一个 Intent 传递到另一个 Intent ,而不必提取包并单独处理每个额外的 Intent ? 例子: intent2.setExtras(
这个问题在这里已经有了答案: Android 5.0 (L) Service Intent must be explicit in Google analytics (11 个答案) 关闭 6 个月
我是一名优秀的程序员,十分优秀!