一些技巧

1、Broadcast接收系統廣播的intent 監控應用程序包的安裝 刪除

public class getBroadcast extends BroadcastReceiver { 

        @Override 

        public void onReceive(Context context, Intent intent) { 

                  if(Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())){ 

                    Toast.makeText(context, "有應用被添加", Toast.LENGTH_LONG).show(); 

            } 

                else  if(Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())){ 

                    Toast.makeText(context, "有應用被刪除", Toast.LENGTH_LONG).show(); 

            } 

                else  if(Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())){ 

                    Toast.makeText(context, "有應用被替換", Toast.LENGTH_LONG).show(); 

            } 

                else  if(Intent.ACTION_CAMERA_BUTTON.equals(intent.getAction())){ 

                    Toast.makeText(context, "按鍵", Toast.LENGTH_LONG).show(); 

            } 

        } 

需要聲明的權限如下AndroidManifest.xml

view plaincopy to clipboardprint?

<?xml version="1.0" encoding="utf-8"?> 

<manifest xmlns:android="http://schemas.android.com/apk/res/android

      package="zy.Broadcast" 

      android:versionCode="1" 

      android:versionName="1.0"> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 

        <activity android:name=".Broadcast" 

                  android:label="@string/app_name"> 

            <intent-filter> 

                <action android:name="android.intent.action.MAIN" /> 

                <category android:name="android.intent.category.LAUNCHER" /> 

            </intent-filter> 

        </activity> 

      <receiver android:name="getBroadcast" android:enabled="true" > 

         <intent-filter> 

             <action android:name="android.intent.action.PACKAGE_ADDED"></action> 

             <!-- <action android:name="android.intent.action.PACKAGE_CHANGED"></action>--> 

             <action android:name="android.intent.action.PACKAGE_REMOVED"></action> 

             <action android:name="android.intent.action.PACKAGE_REPLACED"></action> 

             <!-- <action android:name="android.intent.action.PACKAGE_RESTARTED"></action>--> 

           <!--    <action android:name="android.intent.action.PACKAGE_INSTALL"></action>--> 

               <action android:name="android.intent.action.CAMERA_BUTTON"></action> 

               <data android:scheme="package"></data> 

              </intent-filter> 

</receiver> 

    </application> 

    <uses-sdk android:minSdkVersion="3" /> 

</manifest>  

 

2、調用Android installer 安裝和卸載程序

Intent intent = new Intent(Intent.ACTION_VIEW);  

       intent.setDataAndType(Uri.fromFile(new File("/sdcard/WorldCupTimer.apk")), "application/vnd.android.package-archive");  

       startActivity(intent); //安裝 程序 

       Uri packageURI = Uri.parse("package:zy.dnh");      

       Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);      

       startActivity(uninstallIntent);//正常卸載程序 

 

3、 結束某個進程

activityManager.restartPackage(packageName); 

 

4、 設置默認來電鈴聲

public void setMyRingtone() 

    { 

   File k = new File("/sdcard/Shall We Talk.mp3"); // 設置歌曲路徑 

    ContentValues values = new ContentValues(); 

    values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath()); 

    values.put(MediaStore.MediaColumns.TITLE, "Shall We Talk"); 

    values.put(MediaStore.MediaColumns.SIZE, 8474325); 

    values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3"); 

    values.put(MediaStore.Audio.Media.ARTIST, "Madonna"); 

    values.put(MediaStore.Audio.Media.DURATION, 230); 

    values.put(MediaStore.Audio.Media.IS_RINGTONE, true); 

    values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false); 

    values.put(MediaStore.Audio.Media.IS_ALARM, false); 

    values.put(MediaStore.Audio.Media.IS_MUSIC, false); 

    // Insert it into the database 

    Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()); 

    Uri newUri = this.getContentResolver().insert(uri, values); 

    RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri); 

    ;} 

需要的權限

<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>

 

5、ListView點擊後不讓他高亮的辦法:android:listSelector="@android:color/transparent"

 

 6、android:layout_gravity 佈局位置
      android:gravity 內容位置

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章