如何在android框架内使用权限?

Yon*_*ong 1 permissions android

我注册了一个BroadcastReceiver来接收SystemService中的SMS,但是我们没有权限"android.permission.RECEIVE_SMS".那么如何在android框架内使用权限?在SystemService中,它的上下文来自ActivityManagerService.main().

 public void setWindowManager(WindowManagerService wm) {
    mWindowManager = wm;
}

public static final Context main(int factoryTest) {
    AThread thr = new AThread();
    thr.start();

    synchronized (thr) {
        while (thr.mService == null) {
            try {
                thr.wait();
            } catch (InterruptedException e) {
            }
        }
    }

    ActivityManagerService m = thr.mService;
    mSelf = m;
    ActivityThread at = ActivityThread.systemMain();
    mSystemThread = at;
    Context context = at.getSystemContext();
    m.mContext = context;
    m.mFactoryTest = factoryTest;
    PowerManager pm =
        (PowerManager)context.getSystemService(Context.POWER_SERVICE);
    m.mGoingToSleep = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "ActivityManager-Sleep");
    m.mLaunchingActivity = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "ActivityManager-Launch");
    m.mLaunchingActivity.setReferenceCounted(false);

    m.mBatteryStatsService.publish(context);
    m.mUsageStatsService.publish(context);

    synchronized (thr) {
        thr.mReady = true;
        thr.notifyAll();
    }

    m.startRunning(null, null, null, null);

    return context;
}
Run Code Online (Sandbox Code Playgroud)

Ngu*_*yen 5

您可以在位于frameworks/base/core/res的AndroidManifest.xml中添加此权限

<uses-permission android:name="android.permission.RECEIVE_SMS" />
Run Code Online (Sandbox Code Playgroud)