您的位置:首页 > 其它

6.4 程序管理器中的应用启动&卸载&分享

2013-10-29 21:03 267 查看
[align=left]  /**[/align]
[align=left]       * 卸载 app[/align]
[align=left]       */[/align]
      public void 
unistallApp(){
[align=left]            Intent intent = new Intent();[/align]
[align=left]            intent.setAction(Intent. ACTION_DELETE);[/align]
[align=left]            intent.addCategory(Intent. CATEGORY_DEFAULT);[/align]
[align=left]            intent.setData(Uri. parse("package:" + clickAppInfo.getPackName()));[/align]
[align=left]            startActivityForResult(intent, 0);[/align]
[align=left]
[/align]
[align=left]      }[/align]
[align=left]
[/align]
[align=left]       //卸载之后告诉程序管理器界面重新填充数据,否则卸载之后的app还会出现在lv中[/align]
[align=left]            [/align]
       // 方法1: onactivityResult
[align=left]      @Override[/align]
      protected void onActivityResult( int requestCode, int resultCode,
Intent data) {
[align=left]            fillDateToLIst();[/align]
             super.onActivityResult(requestCode,
resultCode, data);
[align=left]      }[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]     // 方法2: 发送一条自定义广播[/align]
[align=left]     < receiver android:name= "xxxx">[/align]
[align=left]            <intent-filter >[/align]
[align=left]               [/align]
[align=left]                <action android:name= "android.intent.action.PACKAGE_REMOVED" />[/align]
[align=left]            </intent-filter >[/align]
[align=left]        </receiver >[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]//---------------------------------------------------------------------------------------[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]      [/align]
[align=left]      [/align]
[align=left]      [/align]
[align=left]      /**[/align]
[align=left]       * 分享应用: 激活系统短信应用[/align]
[align=left]       */[/align]
      public void 
shareApp(){
[align=left]      [/align]
        /* <action android:name="android.intent.action.SEND"
/>
[align=left]    <category android:name="android.intent.category.DEFAULT" />[/align]
[align=left]    <data android:mimeType="image/*" />*/[/align]
[align=left]            [/align]
[align=left]            Intent intent= new Intent();[/align]
[align=left]            intent.setAction( "android.intent.action.SEND");[/align]
[align=left]            intent.addCategory( "android.intent.category.DEFAULT");[/align]
[align=left]            intent.setType( "image/*");[/align]
[align=left]            [/align]
[align=left]        //分享内容[/align]
[align=left]            intent.putExtra(intent. EXTRA_TEXT, "推荐一款软件:" +clickAppInfo .getAppName()+[/align]
[align=left]                         ",下载网址是:" +"http://play.google.com/store/apps/details?id=" +clickAppInfo .getPackName());[/align]
[align=left]   [/align]
[align=left]          startActivity(intent);[/align]
[align=left]      [/align]
[align=left]      }[/align]
[align=left]
[/align]
[align=left]      [/align]
[align=left]
[/align]
[align=left]
[/align]

//---------------------------------------------------------------------------------------

[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]      /**[/align]
[align=left]       * 启动 App的方法: 意图开启应用的第一个activity[/align]
[align=left]       */[/align]
[align=left]      public void startApp(){[/align]
[align=left]             // 查找当前应用程序里面的第一个activity. 激活他.[/align]
[align=left]                        PackageManager pm = getPackageManager();[/align]
[align=left]                         try {[/align]
[align=left]                               //懒加载[/align]
[align=left]                              PackageInfo packInfo = pm.getPackageInfo([/align]
[align=left]                                           clickAppInfo.getPackName(),  PackageManager.GET_ACTIVITIES );[/align]
[align=left]                              ActivityInfo[] infos = packInfo.activities;[/align]
                               if (infos
!= null && infos. length >
0) {
[align=left]                                    ActivityInfo activityInfo = infos[0];[/align]
[align=left]                                    String className = activityInfo.name;[/align]
[align=left]                                    Intent intent = new Intent();[/align]
                                    intent.setClassName( clickAppInfo.getPackName(),
className);
[align=left]                                    startActivity(intent);[/align]
[align=left]                              } else {[/align]
                                    Toast. makeText(this, "没有找到入口activity",
0).show();
[align=left]                              }[/align]
[align=left]
[/align]
                        } catch (NameNotFoundException
e) {
[align=left]                              e.printStackTrace();[/align]
                              Toast. makeText(this, "无法启动该应用",
0).show();
[align=left]                        }[/align]
[align=left]            [/align]
[align=left]      }[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]--------------------------------------------------------[/align]
[align=left]问题:自己开启自己的时候出现重复加载相同的activity[/align]

指定软件管理的activity的启动模式为: singleTask
    
[align=left]
[/align]
[align=left]
[/align]

[align=left] <!--软件管理的activity  -->[/align]
[align=left]        <activity[/align]
[align=left]            android:name= "com.itheima.mobilesafe.AppManagerActivity"[/align]
[align=left]              android:theme= "@android:style/Theme.Light.NoTitleBar"[/align]
[align=left]              android:launchMode= "singleTask"[/align]
[align=left]            ></activity >[/align]

[align=left]
[/align]
[align=left]
[/align]
[align=left]
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐