Android 如何使小部件在点击按钮时工作?

Android 如何使小部件在点击按钮时工作?,android,Android,当我把它拖放到我的桌面上时,我的小型电脑工作得非常好。但是,我也希望在我的测试活动界面上单击按钮,执行我的小部件的操作 这是我的小部件的接收器- package com.droideilhan.ultrasimpletaskkiller; public class USTaskKillerWidget extends AppWidgetProvider { public static String ACTION_WIDGET_RECEIVER = "ActionRecei

当我把它拖放到我的桌面上时,我的小型电脑工作得非常好。但是,我也希望在我的
测试活动
界面上单击按钮,执行我的小部件的操作

这是我的小部件的接收器-

    package com.droideilhan.ultrasimpletaskkiller;
    public class USTaskKillerWidget extends AppWidgetProvider {
    public static String ACTION_WIDGET_RECEIVER = "ActionReceiverUltraSimpleTaskKillerWidget";

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {

        RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);

        Intent clicSurBtnKillIntent = new Intent(context, USTaskKillerWidget.class);
        clicSurBtnKillIntent.setAction(ACTION_WIDGET_RECEIVER);
        PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context, 0, clicSurBtnKillIntent, 0);
        remoteViews.setOnClickPendingIntent(R.id.btnKill, actionPendingIntent);

        appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        // v1.5 fix that doesn't call onDelete Action
        final String action = intent.getAction();
        if (AppWidgetManager.ACTION_APPWIDGET_DELETED.equals(action)) {
            final int appWidgetId = intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
            if (appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) {
                this.onDeleted(context, new int[] { appWidgetId });
            }
        } else {
            // On a cliqué sur le bouton
            if (intent.getAction().equals(ACTION_WIDGET_RECEIVER)) {

                // Liste des packages à ne pas tuer.
                List<String> reservedPackages = new ArrayList<String>();
                reservedPackages.add("system");
                reservedPackages.add("com.android.launcher2");
                reservedPackages.add("com.android.inputmethod.latin");
                reservedPackages.add("com.android.phone");
                reservedPackages.add("com.android.wallpaper");
                reservedPackages.add("com.google.process.gapps");
                reservedPackages.add("android.process.acore");
                reservedPackages.add("android.process.media");

                // On tue tous les processus, sauf ceux de la liste
                int compteProcessusTues = 0;
                ActivityManager am = (ActivityManager) context.getSystemService(Activity.ACTIVITY_SERVICE);
                List<RunningAppProcessInfo> listeProcessus = am.getRunningAppProcesses();
                for(RunningAppProcessInfo processus : listeProcessus) {           
                    //Log.d("TKTKTK", "========="+processus.pid+" : "+processus.processName);
                    String packageName = processus.processName.split(":")[0];
                    if (!context.getPackageName().equals(packageName) && !reservedPackages.contains(packageName)) {
                        am.restartPackage(packageName);
                        compteProcessusTues++;
                    }
                }
                // Auto-kill (désactivé dans le cas d'un widget)
                //am.restartPackage(context.getPackageName());


            }
            super.onReceive(context, intent);
        }
    }
}

“当我把她拖放到我的桌面上时,我的侏儒工作得很好。”LOL“当我把她拖放到我的桌面上时,我的侏儒工作得很好。”LOL
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.droideilhan.ultrasimpletaskkiller"
    android:versionCode="2"
    android:versionName="1.1" >

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

    <application
        android:icon="@drawable/icon"
        android:label="Google Search" >
        <receiver
            android:name=".USTaskKillerWidget"
            android:label="Google Search" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                <action android:name="com.droideilhan.android.widget.buttons.ButtonWidget.ACTION_WIDGET_RECEIVER" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/ustk_widget_provider" />
        </receiver>

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

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

</manifest>
public void test(View view) {
    Intent intent = new Intent();
    intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
    sendBroadcast(intent);
    intent.setAction("com.droideilhan.android.widget.buttons.ButtonWidget.ACTION_WIDGET_RECEIVER");
    sendBroadcast(intent);
}