jud*_*ira 6 android launch android-intent android-activity
我有两个应用程序,A和B.
从A开始,我使用以下代码为结果启动B:
Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);
Run Code Online (Sandbox Code Playgroud)
从B,我正在做以下事情:
getIntent().putExtra("completed", true);
setResult(RESULT_OK, getIntent());
finish();
Run Code Online (Sandbox Code Playgroud)
如果我在同一个应用程序中执行上述操作,则按预期工作.
但是,由于它有两个不同的应用程序,我收到一个空的意图,没有数据和未设置的结果代码.我应如何编辑上述内容以确保始终保持一个意图?
小智 5
相关问题“ Android onActivityResult在活动甚至开始之前触发! ”中提供了解决方案。以这种方式创建意图:
Intent myIntent = new Intent();
myIntent.setClassName("com.example.B", "com.example.B.ActivityB");
startActivityForResult(myIntent, 600);
Run Code Online (Sandbox Code Playgroud)
我面临同样的问题并以这种方式解决。
使用setFlags(0)清洁,可通过以下方式创建的所有标志getLaunchIntentForPackage:
Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.setFlags(0);
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5614 次 |
| 最近记录: |