java中public的应用,关于android开发中如何正确使用public activity安全用法及代码示例...

一、前言

public activity可任意引用的应用程序。其风险是恶意软件可以接收或发送intent到public Activity,注意事项有:1、显式设置导出属性为true。@b@2、注意接收到的intent是否为恶意。@b@3、返回结果时不能包含敏感数据。

二、代码示例

1.AndroidManifest.xml<?xml  version="1.0" encoding="utf-8"?>?@b@@b@ @b@       @b@ @b@              ?@b@              @b@              @b@ @b@                     @b@                     @b@                            @b@                                @b@                     @b@              @b@       @b@

2.PublicActivity.javapackage org.jssec.android.activity.publicactivity;@b@ @b@import android.app.Activity;@b@import android.content.Intent;@b@import android.os.Bundle;@b@import android.view.View;@b@import android.widget.Toast;@b@ @b@public class PublicActivity extends Activity {@b@ @b@       @Override public void onCreate(Bundle savedInstanceState) {@b@              super.onCreate(savedInstanceState); setContentView(R.layout.main); @b@              String param = getIntent().getStringExtra("PARAM"); @b@              Toast.makeText(this, String.format("Received param: ¥"%s¥"", param), Toast.LENGTH_LONG).show();@b@       } @b@       public void onReturnResultClick(View view) {  @b@              Intent intent = new Intent(); @b@              intent.putExtra("RESULT", "Not Sensitive Info"); @b@              setResult(RESULT_OK, intent); finish();@b@       }@b@}

3.PublicUserActivity.javapackage org.jssec.android.activity.publicuser;@b@ @b@import android.app.Activity; @b@import android.content.ActivityNotFoundException;@b@import android.content.Intent; @b@import android.os.Bundle; @b@import android.view.View; @b@import android.widget.Toast;@b@ @b@public class PublicUserActivity extends Activity {@b@ @b@       private static final int REQUEST_CODE = 1;@b@ @b@       @Override public void onCreate(Bundle savedInstanceState) {@b@              super.onCreate(savedInstanceState);@b@              setContentView(R.layout.main);@b@       }@b@ @b@       public void onUseActivityClick(View view) {@b@ @b@              try {  @b@                     Intent intent = new Intent("org.jssec.android.activity.MY_ACTION");       @b@                     intent.putExtra("PARAM", "Not Sensitive Info");@b@                     startActivityForResult(intent, REQUEST_CODE);@b@              } catch (ActivityNotFoundException e) { @b@                     Toast.makeText(this, "Target activity not found.", Toast.LENGTH_LONG).show();@b@              }@b@       }@b@ @b@       @Override @b@       public void onActivityResult(int requestCode, int resultCode, Intent data) {@b@              super.onActivityResult(requestCode, resultCode, data); @b@             @b@              if (resultCode != RESULT_OK) return; @b@              switch (requestCode) { @b@              case REQUEST_CODE:@b@                     String result = data.getStringExtra("RESULT"); @b@                     Toast.makeText(this, String.format("Received result: ¥"%s¥"", result),              @b@                     Toast.LENGTH_LONG).show();@b@                     break;@b@              }@b@       }@b@}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值