找出哪些活动开始了我的活动?

时间:2011-03-17 08:15:42

标签: android

我想知道哪些活动在Android中启动了我的活动。我可以使用“getIntent()”获得启动活动的意图,但我无法找到首先启动意图的活动。

期待你的帮助。 提前谢谢你。

2 个答案:

答案 0 :(得分:27)

使用getCallingActivity()

注意:如果调用活动不期望结果(即它没有使用包含请求代码的startActivityForResult(Intent, int)表单),则调用包将为null < / p>

答案 1 :(得分:5)

您可以将#include <iostream> using namespace std; const int MAXN = 10; const int MAXD = 10; const int maxDiff = 8; const int diffX[MAXD] = { 1, 1, -1, -1, 2, -2, 2, -2 }; const int diffY[MAXD] = { 2, -2, 2, -2, 1, 1, -1, -1 }; unsigned board[MAXN][MAXN]; unsigned newX, newY; void printBoard(int n) { int i, j; for (i = n; i > 0; i--) { for (j = 0; j < n; j++) { if (j == 0) { cout << board[i - 1][j]; } else { cout << " " << board[i - 1][j]; } } cout << endl; } } void nextMove(int X, int Y, int i, int n) { int k; board[X][Y] = i; if (i == n * n) { printBoard(n); return; } for (k = 0; k < maxDiff; k++) { newX = X + diffX[k]; newY = Y + diffY[k]; if ((newX >= 0 && newX < n && newY >= 0 && newY < n) && (0 == board[newX][newY])) { nextMove(newX, newY, i + 1, n); } } board[X][Y] = 0; } int main() { int n; int startX; int startY; int br = 0; while (cin >> n >> startX >> startY) { if (n < 4 || n > 10) { break; } int i, j; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { board[i][j] = 0; } } nextMove(startX - 1, startY - 1, 1, n); } return 0; } 用于此目的。