Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取家长来电_Java_Android - Fatal编程技术网

Java 如何获取家长来电

Java 如何获取家长来电,java,android,Java,Android,假设用户打开Twitter应用程序并点击所选推文的共享按钮。然后他会在列表中看到我的应用程序以及其他应用程序,如Gmail、SMS等 在我活动的OnCreate方法中,我处理tweet。删除短链接等,然后调用twitter应用程序的PostActivity。下面的代码在twitter应用程序的撰写推文部分显示“我的推文” Intent intent1 = new Intent("android.intent.action.MAIN");

假设用户打开Twitter应用程序并点击所选推文的共享按钮。然后他会在列表中看到我的应用程序以及其他应用程序,如Gmail、SMS等

在我活动的OnCreate方法中,我处理tweet。删除短链接等,然后调用twitter应用程序的PostActivity。下面的代码在twitter应用程序的撰写推文部分显示“我的推文”

                    Intent intent1 = new Intent("android.intent.action.MAIN");
                intent1.setComponent(new ComponentName("com.twitter.android","com.twitter.android.PostActivity"));
                intent1.setAction(android.content.Intent.ACTION_SEND);
                intent1.putExtra(android.content.Intent.EXTRA_TEXT,"my tweet");
                intent1.setType("text/plain");
                startActivity(intent1);

我想做的是,在我调用PostActivity之前,我需要100%确保我的活动是从twitter应用程序调用的

-因为我假设您是从
startActivityForResult
开始的?
ComponentName
,如果不是
null
,将标识调用方的包名(app)以及该app中的活动。我无法使用它。因为在调用my intent1.setComponent之前,我需要知道是twitter应用程序调用了我的应用程序。@Jens是对的。如果您的代码属于onCreate方法,您可以在编写代码之前执行“ComponentName callingName=getCallingActivity()”,并根据此决定是否执行其余的代码。看起来你们还没有明白我的意思。在我调用其他活动之前,如何知道谁调用了我的活动?在我的问题中提到的例子中,它的twitter应用程序调用了我的活动,然后我调用了其他一些活动。@Anil是对的,他的问题不能通过#getCallingActivity解决,因为共享是通过startActivity完成的,不是startActivityForResult-剩下的唯一选项可能是添加查看活动堆栈的权限,并检查twitter应用程序最有可能调用他的应用程序。