我正在开发一个公开共享意图的应用程序。当用户从任何应用程序打开共享菜单时,他会在列表中看到我的应用程序。
一旦用户选择了我的选项,他就会加密他的文件,并且他应该能够从应用程序内共享它,一键完成。
此外,我的应用程序使用身份验证进行登录。
目前,我可以将我的应用活动公开为共享意图。我也可以从文件浏览器中选择它。但是,当我从列表中选择我的应用程序时,它会直接进入活动,而不是身份验证。我希望它应该是这样,但我希望它首先进行身份验证,一旦通过身份验证,然后转到 Encrypt&Share 活动。我怎么做?
除此之外,我还获得了用户选择的文件 URI,getParcelableArrayListExtra()
但是,当我尝试打印 URI 时,它给了我空指针异常。我在清单中使用了 SEND_MULTIPLE 作为操作。我在这里做错了什么?请帮忙。
代码是:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_encrypt_share);
Intent intent = getIntent();
ArrayList<Uri> fileUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
System.err.print(fileUris);
for(Uri f: fileUris){
Log.e("FileName:", f.getPath().toString());
}
}